Content capture service

ABSTRACT

Concepts and technologies are disclosed herein for a content capture application and/or service. In one example embodiment, an application/service can determine a project definition for a media project that can include a video that is to be captured via a user device having a camera. The application/service can determine a device capability of the user device including a video capability and a networking capability. The application/service can determine, based on the project definition and the device capability, a capture suggestion. The capture suggestion can include instructions relating to content to be included in the video. The device can provide the capture suggestion to the user device, obtain media content based on the video, assemble the media project including the media content, and output the media project to a recipient.

BACKGROUND

Many modern user devices include camera functionality, and over theyears some hardware manufacturers have begun to rely on the camerafunctionality of the user devices to differentiate their devices fromdevices of their competitors. As a result, the quality of camerasincluded on some user devices continues to improve and the sharing ofvideo and/or camera images has become commonplace.

Similarly, media content is often consumed on a wide array of devicesthat can have varied displays (e.g., varied in terms of display size,display resolution, display aspect ratio, etc.); varied communicationcapabilities (e.g., upload capabilities, download capabilities,streaming capabilities, etc.); varied audio capabilities (e.g., outputvolume, connection capabilities, etc.); and/or other variations. Whenmedia content is captured, the photographer or videographer may or maynot be aware of what device(s) will be used to view the content, whichcan make the creation of media content difficult.

SUMMARY

The present disclosure is directed to a content capture service. Anentity (e.g., a device user) can interact with a device (e.g., a userdevice) to create a media project (“project”). The project can include,in some embodiments, a video, an image, one or more scenes or instancesof video and/or images combined into a single file or group of files, orthe like. The project also can correspond to a single video file or asingle streaming video session and is not limited to multiple instancesof video, images, audio, and/or combinations thereof compiled and/orcombined into a single work. According to some embodiments, a projectcan be created in response to detecting, at the user device, a requestto capture media or in response to explicitly invoking the creation of aproject. Thus, the functionality illustrated and described herein can betriggered by detecting activation of a camera application for images orvideo, initiation of a streaming video session, activation of thecontent capture application, combinations thereof, or the like.

In response to detecting that a project is to be created, one or moreinstances of project definition data can be obtained via interactions atthe user device, from settings, from preferences, from other entities,combinations thereof, or the like. The project definition data can beused by the user device and/or a server computer (e.g., by a contentcapture application executed by the user device and/or by a contentcapture service hosted by the server computer) to create one or moreproject definition(s). The project definition can define various aspectsof the project such as, for example, directorial opinions and/ormissions for the project, text and/or speech to be captured, budgetconstraints (where budget can be in terms of time (e.g., a duration ofthe project), money (e.g., a cost of the project), bandwidth (e.g., aconnection speed and/or total data transfer limit for transmission ofthe project), combinations thereof, or the like), combinations thereof,or the like. In some embodiments, the project definition can be used tocreate one or more capture suggestions.

One or more device capabilities can be known or can be determined forthe user device or other device(s) being used to capture one or moreinstances of media content for the project. Thus, for example, thedevice capabilities can define a maximum resolution for video that iscaptured by the user device, a data transfer rate attainable and/orsustainable for the user device, data processing and/or storagecapabilities, combinations thereof, or the like. The device capabilitiescan be used in association with and/or instead of the projectdefinitions to create one or more capture suggestions.

Based on the project definitions, the device capabilities, and/or thecapture suggestions, the content capture application or the contentcapture service can create one or more capture suggestions. The capturesuggestions can provide guidance to a user or other entity capturing theone or more instances of media content to ensure (or attempt to ensure)that the captured media satisfies the various constraints entered by theuser or other entity such as, for example, the mood desired, the budgetconstraints, the directorial mission and/or opinions, the scriptintended, combinations thereof, or the like. Thus, the capturesuggestions can guide the user or other entity during capture of themedia content for the project. The capture suggestions can be provided,in some embodiments, as spoken commands, as popup screens, as screenoverlays, as other user interface elements, combinations thereof, or thelike. The user or other entity can accept or adopt one or more of thecapture suggestions via interactions with the user device. Suchcompliance and/or adoption of the capture suggestions can be detectedand tracked for learning and/or tracking purposes in some embodiments.

In some embodiments, the media content being captured can be modified inassociation with the one or more capture suggestions. For example, insome embodiments placement of an advertisement may be suggested by thecontent capture application and/or the content capture service, andtherefore the advertisement can be embedded in the media content tocreate modified media content (e.g., the media content with theadvertisement). In some other embodiments, the media content can bemodified by applying suggested zooming, panning, cropping, adjustingresolution, adjusting audio rates, applying coder-decoders (“codecs”),etc. by the user and/or by the content capture application or contentcapture service. The one or more instances of modified media content canbe packaged by the content capture application and/or the contentcapture service to create the project. In various embodiments, theproject can correspond to a single data file (e.g., a movie project thatcan be formed by creating a new file based on multiple files). In someother embodiments, the project can correspond to multiple data files(e.g., multiple video files and audio files that can be assembledaccording to instructions included in the project, or the like). Theproject can be output by the user device and/or the server computer to arecipient.

According to one aspect of the concepts and technologies disclosedherein, a device is disclosed. The device can include a processor and amemory. The memory can store computer-executable instructions that, whenexecuted by the processor, cause the processor to perform operations.The operations can include determining a project definition for a mediaproject that can include a video that is to be captured via a userdevice that can include and/or can be equipped with a camera. Theoperations further can include determining a device capability of theuser device. The device capability can include a video capability and anetworking capability of the user device. The operations further caninclude determining based on the media project definition and the devicecapability, a capture suggestion. The capture suggestion can includeinstructions relating to content to be included in the video and can beprovided to the user device before the video is captured or duringcapture of the video. The operations further can include obtaining mediacontent based on the video, assembling the media project including themedia content, and outputting the media project to a recipient.

In some embodiments, determining the device capability can includeidentifying the user device, identifying a connection statistic for acommunication channel that is expected to be used for delivery of themedia project, and determining a baseline recommendation based on anidentity of the user device and the connection statistic. In someembodiments, determining the device capability can include determining acapability of the camera, the capability including one or more of aframe rate or a resolution, and determining a baseline recommendationbased on the capability of the camera. In some embodiments, the capturesuggestion can be delivered to a display of the user device. In someembodiments, the capture suggestion can include one or more of asuggestion to zoom the camera, a suggestion to crop a scene, or asuggestion to change an aim of the camera.

According to another aspect of the concepts and technologies disclosedherein, a method is disclosed. The method can include determining, at adevice that can include a processor, a project definition for a mediaproject. The media project can include a video that is to be capturedvia a user device that can include a camera. The method further caninclude determining, by the processor, a device capability of the userdevice. The device capability can include a video capability and anetworking capability. The method further can include determining, bythe processor and based on the project definition and the devicecapability, a capture suggestion. The capture suggestion can includeinstructions relating to content to be included in the video. The methodfurther can include providing, by the processor, the capture suggestionto the user device before the video is captured; obtaining, by theprocessor, media content based on the video; assembling, by theprocessor, the media project that can include the media content; andoutputting, by the processor, the media project to a recipient.

In some embodiments, determining the project definition can includedetermining a location associated with the media project; and analyzingthe location associated with the media project to determine the projectdefinition. The project definition can include a location at which thevideo is to be captured. In some embodiments, determining the projectdefinition can include obtaining a text associated with the mediaproject; and analyzing the text associated with the media project todetermine the project definition. The project definition can includetext that is to be represented in the video.

In some embodiments, determining the project definition can includeobtaining a budget associated with the media project; and analyzing thebudget associated with the media project to determine the projectdefinition. The project definition can include a budget that capture ofthe video must satisfy. In some embodiments, the budget can include atime budget. The time budget can include a time range between a minimumtime and a maximum time, and the capture suggestion can represent aremaining portion of the time budget. In some embodiments, determiningthe device capability can include identifying the user device,identifying a connection statistic for a communication channel that isexpected to be used for delivery of the project; and determining abaseline recommendation based on an identity of the user device and theconnection statistic.

In some embodiments, determining the device capability can includedetermining a capability of the camera, the capability including a framerate and a resolution, and determining a baseline recommendation basedon the capability of the camera. In some embodiments, determining thedevice capability further can include delivering the baselinerecommendation to the user device, and modifying the baselinerecommendation based on input via the user device. In some embodiments,the capture suggestion can be delivered to a display of the user device.In some embodiments, the capture suggestion can include one or more of asuggestion to zoom the camera, a suggestion to crop a scene, or asuggestion to change an aim of the camera. In some embodiments, thecapture suggestion can include an indication of a budget remaining. Insome embodiments, the capture suggestion can be delivered to a displayof the user device. The capture suggestion can include a suggestion tocapture a spoken word in the video, where the spoken word can be basedon the text.

According to yet another aspect of the concepts and technologiesdisclosed herein, a computer storage medium is disclosed. The computerstorage medium can store computer-executable instructions that, whenexecuted by a processor, cause the processor to perform operations. Theoperations can include determining a project definition for a mediaproject that can include a video that is to be captured via a userdevice that can include a camera. The operations further can includedetermining a device capability of the user device. The devicecapability can include a video capability and a networking capability ofthe user device. The operations further can include determining based onthe project definition and the device capability, a capture suggestion.The capture suggestion can include instructions relating to content tobe included in the video and can be provided to the user device beforethe video is captured or during capture of the video. The operationsfurther can include obtaining media content based on the video,assembling the media project including the media content, and outputtingthe media project to a recipient.

In some embodiments, determining the device capability can includeidentifying the user device, identifying a connection statistic for acommunication channel that is expected to be used for delivery of themedia project, determining a capability of the camera, the capabilityincluding a frame rate and a resolution, and determining a baselinerecommendation based on an identity of the user device, the connectionstatistic, and the capability of the camera. In some embodiments, thecapture suggestion can be delivered to a display of the user device. Thecapture suggestion can include one or more of a suggestion to zoom thecamera, a suggestion to crop a scene, or a suggestion to change an aimof the camera.

Other systems, methods, and/or computer program products according toembodiments will be or become apparent to one with skill in the art uponreview of the following drawings and detailed description. It isintended that all such additional systems, methods, and/or computerprogram products be included within this description and be within thescope of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system diagram illustrating an illustrative operatingenvironment for various embodiments of the concepts and technologiesdescribed herein.

FIG. 2 is a flow diagram showing aspects of a method for creating aproject, according to an illustrative embodiment of the concepts andtechnologies described herein.

FIG. 3 is a flow diagram showing aspects of a method for receivingproject definitions, according to an illustrative embodiment of theconcepts and technologies described herein.

FIG. 4 is a flow diagram showing aspects of a method for determiningdevice capabilities, according to an illustrative embodiment of theconcepts and technologies described herein.

FIGS. 5A-5L are user interface diagrams showing various screen displaysfor interacting with a content capture application and/or contentcapture service, according to some illustrative embodiments of theconcepts and technologies described herein.

FIG. 6 schematically illustrates a network, according to an illustrativeembodiment of the concepts and technologies described herein.

FIG. 7 is a block diagram illustrating an example computer systemconfigured to provide a content capture service, according to someillustrative embodiments of the concepts and technologies describedherein.

FIG. 8 is a block diagram illustrating an example mobile deviceconfigured to interact with and/or provide a content capture service,according to some illustrative embodiments of the concepts andtechnologies described herein.

FIG. 9 is a diagram illustrating a computing environment capable ofimplementing aspects of the concepts and technologies disclosed herein,according to some illustrative embodiments of the concepts andtechnologies described herein.

DETAILED DESCRIPTION

The following detailed description is directed to a content captureservice. An entity (e.g., a device user) can interact with a device(e.g., a user device) to create a project a media project (“project”).The project can include, in some embodiments, one or more scenes orinstances of video and/or images combined into a single file or group offiles, a video, an image, or the like. The project also can correspondto a single video file or a single streaming video session and is notlimited to multiple instances of video, images, audio, and/orcombinations thereof compiled and/or combined into a single work.According to some embodiments, a project can be created in response todetecting, at the user device, a request to capture media or in responseto explicitly invoking the creation of a project. Thus, thefunctionality illustrated and described herein can be triggered bydetecting activation of a camera application for images or video,initiation of a streaming video session, activation of the contentcapture application, combinations thereof, or the like.

In response to detecting that a project is to be created, one or moreinstances of project definition data can be obtained via interactions atthe user device, from settings, from preferences, from other entities,combinations thereof, or the like. The project definition data can beused by the user device and/or a server computer (e.g., by a contentcapture application executed by the user device and/or by a contentcapture service hosted by the server computer) to create one or moreproject definition(s). The project definition can define various aspectsof the project such as, for example, directorial opinions and/ormissions for the project, text and/or speech to be captured, budgetconstraints (where budget can be in terms of time (e.g., a duration ofthe project), money (e.g., a cost of the project), bandwidth (e.g., aconnection speed and/or total data transfer limit for transmission ofthe project), combinations thereof, or the like), combinations thereof,or the like. In some embodiments, the project definition can be used tocreate one or more capture suggestions.

One or more device capabilities can be determined for the user device orother device(s) being used to capture one or more instances of mediacontent for the project. The device capabilities can be known ordetermined for the user device and can be used to determine how theinstances of media content are to be captured. Thus, for example, thedevice capabilities can define a maximum resolution for video that iscaptured by the user device, a data transfer rate attainable and/orsustainable for the user device, data processing and/or storagecapabilities, combinations thereof, or the like. The device capabilitiescan be used in association with and/or instead of the projectdefinitions to create one or more capture suggestions.

Based on the project definitions and/or the capture suggestions, thecontent capture application or the content capture service can createone or more capture suggestions. The capture suggestions can provideguidance to a user or other entity capturing the one or more instancesof media content to ensure (or attempt to ensure) that the capturedmedia satisfies the various constraints entered by the user or otherentity such as, for example, the mood desired, the budget constraints,the directorial mission and/or opinions, the script intended,combinations thereof, or the like. Thus, the capture suggestions canguide the user or other entity during capture of the media content forthe project. The capture suggestions can be provided, in someembodiments, as spoken commands, as popup screens, as screen overlays,as other user interface elements, combinations thereof, or the like. Theuser or other entity can accept or adopt one or more of the capturesuggestions via interactions with the user device. Such complianceand/or adoption of the capture suggestions can be detected and trackedfor learning and/or tracking purposes in some embodiments.

In some embodiments, the media content being captured can be modified inassociation with the one or more capture suggestions. For example, insome embodiments placement of an advertisement may be suggested by thecontent capture application and/or the content capture service, andtherefore the advertisement can be embedded in the media content tocreate modified media content (e.g., the media content with theadvertisement). In some other embodiments, the media content can bemodified by applying suggested zooming, panning, cropping, adjustingresolution, adjusting audio rates, applying codecs, etc., by the userand/or by the content capture application or content capture service.The one or more instances of modified media content can be packaged bythe content capture application and/or the content capture service tocreate the project. In various embodiments, the project can correspondto a single data file (e.g., a movie project that can be formed bycreating a new file based on multiple files). In some other embodiments,the project can correspond to multiple data files (e.g., multiple videofiles and audio files that can be assembled according to instructionsincluded in the project, or the like). The project can be output by theuser device and/or the server computer to a recipient.

While the subject matter described herein is presented in the generalcontext of program modules that execute in conjunction with theexecution of an operating system and application programs on a computersystem, those skilled in the art will recognize that otherimplementations may be performed in combination with other types ofprogram modules. Generally, program modules include routines, programs,components, data structures, and other types of structures that performparticular tasks or implement particular abstract data types. Moreover,those skilled in the art will appreciate that the subject matterdescribed herein may be practiced with other computer systemconfigurations, including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics,minicomputers, mainframe computers, and the like.

Referring now to FIG. 1, aspects of an operating environment 100 forvarious embodiments of the concepts and technologies disclosed hereinfor providing, interacting with, and using a content capture servicewill be described, according to an illustrative embodiment of theconcepts and technologies disclosed herein. The operating environment100 shown in FIG. 1 can include a user device 102. The user device 102can operate in communication with and/or as part of a communicationsnetwork (“network”) 104, though this is not necessarily the case.

According to various embodiments, the functionality of the user device102 may be provided by one or more server computers, desktop computers,mobile telephones, smartphones, tablet computers, laptop computers,set-top boxes, other computing systems, and the like. It should beunderstood that the functionality of the user device 102 can be providedby a single device, by two similar devices, and/or by two or moredissimilar devices. For purposes of describing the concepts andtechnologies disclosed herein, the user device 102 is described hereinas a mobile telephone or a smartphone. It should be understood that thisembodiment is illustrative, and should not be construed as beinglimiting in any way.

The user device 102 can execute an operating system 106 and one or moreapplication programs such as, for example, a content capture application108. The operating system 106 can include a computer program forcontrolling the operation of the user device 102. The content captureapplication 108 can include an executable program that can be configuredto execute on top of the operating system 106 to provide variousfunctions as illustrated and described herein.

According to various embodiments of the concepts and technologiesdisclosed herein, the content capture application 108 can be configuredto capture content such as, for example, photographs, video, audio,and/or a combination thereof. The content capture application 108 alsocan be used to save, upload, and/or stream the captured content to oneor more entities such as users, devices, web servers, social mediaservers, application servers, streaming video services, other entities,combinations thereof, or the like. The functionality of the contentcapture application 108 will be described in additional detail below,after introducing some additional elements of the operating environment100 shown in FIG. 1.

According to various embodiments of the concepts and technologiesdisclosed herein, the operating environment 100 also can include acontent capture service 110. The content capture service 110 can includean executable program that can be executed by a processor of a computingdevice such as, for example, a server such as the server computer 112illustrated in FIG. 1. It should be understood that this example isillustrative, and therefore should not be construed as being limiting inany way. Although the content capture application 108 and the contentcapture service 110 are illustrated as being located at separate devices(e.g., the user device 102 and the server computer 112, respectively),it should be understood that in various embodiments of the concepts andtechnologies disclosed herein, the functionality illustrated anddescribed herein for the content capture service 110 can be performed bythe content capture application 108. As such, the illustratedembodiments should be understood as being illustrative of only somecontemplated embodiments of the concepts and technologies disclosedherein and should not be construed as being limiting in any way.

In the illustrated embodiment, the content capture application 108 canbe configured to interact with the content capture service 110. Inparticular, the content capture application 108 and the content captureservice 110 can exchange project data 114. The project data 114 caninclude, but is not limited to, project definitions 116, devicecapabilities 120, capture suggestions 122, user input data 124, mediacontent 126, modified media content 128, and/or other information 130.In some embodiments, the project data 114 can be created by the contentcapture application 108. In some other embodiments, some of the projectdata 114 can be created by the content capture application 108 and someof the project data 114 can be created by the content capture service110. In yet other embodiments. In the illustrated and describedembodiments, part of the project data 114 is created at the user device102 (by the content capture application 108) and part of the projectdata 114 is created at the server computer 112 (by the content captureservice 110). It should be understood that this example is illustrative,and therefore should not be construed as being limiting in any way.

The project definitions 116 can include data or other information thatcan define one or more aspects of a media project. The projectdefinitions 116 can be based on one or more types of data and/orinformation (e.g., project definition data 118). The project definitiondata 118 can include, but is not limited to, location information thatcan define a geographic location of a captured scene, a geographiclocation of a user device 102 being used to capture media, otherlocation information, combinations thereof, or the like; text or scriptdata that can represent a script for a media project such as, forexample, spoken words that are to be said in or in association withcaptured media, printed text that will appear in and/or will be added tocaptured media, combinations thereof, or the like; view history datathat can represent prior viewership of media associated with aparticular user, device, location, entity, combinations thereof, or thelike; budget information that defines a monetary budget for a particularmedia project, a time duration associated with the media project and/oran instance of captured media, a bandwidth budget for communication(upload, download, streaming, etc.) of a particular instance of capturedmedia and/or a media project, combinations thereof, or the like; and/orother information that can be used to define one or more aspects of amedia project. These and other types of information that can define theproject definition data 118 can be defined by a user or other entityduring creation and/or requesting of a media project or instance ofmedia content, by preferences, by settings, by network availabilityand/or performance characteristics, combinations thereof, or the like.The use of the project definitions 116 and/or the project definitiondata 118 in creation of the project definitions 116 will be described inmore detail below, at least with reference to FIGS. 2-3.

The device capabilities 120 can include data or other information thatcan define one or more capabilities of one or more device that will beor is being used to capture content associated with a media project. Inthe context of the example embodiment shown in FIG. 1, the devicecapabilities 120 can include data or other information that can defineone or more capabilities of the user device 102. The device capabilities120 can define, for example, one or more communication capabilities ofthe user device 102 such as, for example, an average and/or peak datatransmission rate, an average and/or peak data download rate,combinations thereof, or the like. The device capabilities 120 also candefine, for example, one or more camera capabilities of the user device102 such as, for example, a minimum resolution for content capture, amaximum resolution for content capture, a range of resolutions forcontent capture, a minimum frame rate for content capture, a maximumframe rate for content capture, a range of frame rates for contentcapture, an optical and/or digital zoom capability of a camera used forcontent capture, a minimum and/or maximum field of view for contentcapture, a minimum and/or maximum depth of field for content capture,combinations thereof, or the like.

The device capabilities 120 also can define, for example, one or moreprocessing capabilities of the user device 102 such as, for example, acomputational capability of the user device 102 (e.g., forpre-processing on the user device 102 before data transmission), a datastorage capability of the user device 102, audio and/or video encodingcapabilities associated with the user device 102, combinations thereof,or the like. The device capabilities 120 also can define, for example,one or more audio capabilities of the user device 102 such as, forexample, a sampling rate of an audio device (e.g., a microphone) of theuser device 102, an audio conversion rate associated with the userdevice 102, audio codecs available, combinations thereof, or the like.Other capabilities of the user device 102 also can be defined by thedevice capabilities 120 and can be used for various purposes as will beexplained in more detail below. The above-mentioned and other types ofinformation can define the device capabilities 120 and can be defined bya user (e.g., a network operator, device manufacturer, or other entity),by settings, combinations thereof, or the like. The creation of and/oruse of the device capabilities 120 will be described in more detailbelow, at least with reference to FIGS. 2-4.

The capture suggestions 122 can define one or more suggestions forcapturing media content 126. The capture suggestions 122 can be surfacedto a user or other entity associated with the user device 102 in variousmanners as will be illustrated and described hereinbelow. According tovarious embodiments, the capture suggestions 122 can define, among otherthings, suggestions for mood continuity during a media project (e.g., avisual and/or audio mood and how those moods can be continued throughouta project); proposed cut-point timing for syntax and/or mood of a mediaproject (e.g., detecting how and when to cut a scene or instance ofmedia content 126 based on movements, zoom levels, depth of field, fieldof view, focal length, or the like associated with a particular instanceof media content 126); content completion suggestions for a particularinstance of media content 126 (e.g., a scene or view croppingsuggestion, an audio suggestion, a three-dimensional object suggestion,a background suggestion, combinations thereof, or the like); a specificobject of focus (e.g., what object to focus on in a particular scene orinstance of media content 126) for a particular instance of mediacontent 126; advertising suggestions (e.g., analysis for alignment withadvertising using pre-bidding and/or pre-defined optimization); regionalmodifications to media content 126 and/or a media project based onlocality or expected audience information (e.g., removing sensitivecontent and/or substituting content based on locale or expectedaudience, etc.); other suggestions (e.g., visual editing or alignment ofspoken words to a pre-determined script); combinations thereof; or thelike. These capture suggestions 122 can be determined and providedduring capturing of the media content 126 and/or an instance thereof, insome embodiments. The creating of capture suggestions 122 and theproviding of capture suggestions 122 to a user device 102 will beillustrated and described in more detail below.

The user input data 124 can include one or more instances of user input.The user input data 124 can include, for example, information that cancorrespond to the project definitions 116 illustrated and describedherein, information that can define one or more targets or objectivesassociated with a media project or instance of media content 126, datathat corresponds to a script or text associated with a media project orinstance of media content 126, location data that defines one or moregeographic locations associated with a media project or instance ofmedia content 126, budget information, combinations thereof, or thelike. The user input data 124 also can correspond to one or moreselection(s) that can be made, for example, in response to the surfacingof capture suggestions 122 or the like to a user via the user device102. Thus, for example, if a user accepts or selects a particularcapture suggestion 122, data indicating the selection can becommunicated or stored as the user input data 124. The user input data124 can be used to modify the media project or one or more instance ofmedia content 126, as will be illustrated and described in more detailbelow.

The media content 126 can correspond to captured media such as audio,video, images, combinations thereof, or the like. The modified mediacontent 128 can include a modified version of one or more instance ofmedia content 126. For example, if a capture suggestion 122 suggests acropped view of a scene being filmed, and if that capture suggestion 122is accepted, the modified media content 128 can correspond to a croppedview of the scene. Because other modifications to the captured mediacontent 126 will be evident with reference to the various methods andscreen displays illustrated and described herein, it should beunderstood that many modifications are possible and are contemplated. Assuch, the above example is merely illustrative and should not beconstrued as being limiting in any way.

The other information 130 can include various types of information thatcan be exchanged between the user device 102 and the server computer112, in embodiments in which the user device 102 communicates with theserver computer 112 to provide embodiments of the concepts andtechnologies disclosed herein; or used by the user device 102 and/or theserver computer 112 to provide the functionality illustrated anddescribed herein. In particular, in some embodiments of the concepts andtechnologies disclosed herein, the other information 130 can includecontextual information. The contextual information can include variousforms of context that can be used to modify the media content 126 and/orto create capture suggestions 122 for the user 134. Some example formsof contextual information are discussed below.

According to some example embodiments of the concepts and technologiesdisclosed herein, the contextual information can be used to determine acontext for the project 136 including, but not limited to, an intendedaudience for the project 136 and/or media content 126 included in theproject 136, an intended viewing device (e.g., whether the project 136will be viewed on a mobile phone, a desktop display, and/or in a movietheater) associated with the project 136 and/or media content 126included in the project 136, a geographic location associated with theintended audience for the project 136 and/or media content 126 includedin the project 136, a demographic and/or demographics for one or moreintended audiences for the project 136 and/or media content 126 includedin the project 136, one or more actor name(s) for the project 136 and/ormedia content 126 included in the project 136, one or more names ofplaces associated with the project 136 and/or media content 126 includedin the project 136 combinations thereof, or the like. Additionally, oralternatively, the contextual information can include a story lineassociated with the project 136 and/or media content 126 included in theproject 136 and therefore can be used to inform suggestions forcapturing media content 126. For example, if captured media content 126relates to a sad moment in the story line, the context can be used tosuggest colors, lighting, and/or other visual effects to reflect themood. It should be understood that this example is illustrative, andtherefore should not be construed as being limiting in any way.

The other information 130 also can provide context in terms of othermedia content 126 associated with a project 136 and therefore can beused to create capture suggestions 122 relating to mood, continuity, cutpoints, combinations thereof, or the like. The other information 130also can include information that identifies one or more objects thatappear in the media content 126 and/or the project 136 and therefore canbe used to create suggestions relating to advertising or the like.Because the other information 130 can include various types ofinformation that are illustrated and described herein, it should beunderstood that the above-listed examples are illustrative, andtherefore should not be construed as being limiting in any way.

The exchange of the project data 114 between the user device 102 and theserver computer 112 will be explained in additional detail below, afterintroducing the remaining entities shown in FIG. 1. As shown in FIG. 1,one or more communication channels 132A-C (hereinafter collectivelyand/or generically referred to as “communication channels 132”) can beprovided by the network 104 and/or other network connections to enablecommunications between the various entities included in the operatingenvironment 100. For example, a first communication channel 132A can beexist between the user device 102 and the server computer 112 to enablecommunications between the user device 102 and the server computer 112(and by way of this connectivity, to enable communications between thecontent capture application 108 and the content capture service 110hosted and/or executed by the respective entities). Thus, the projectdata 114 can be exchanged, in some embodiments, between the user device102 and the server computer 112 via the communication channel 132A.

For example, a user or other entity (hereinafter referred to as a “user134”) that has access to the user device 102 can input, upload, submit,or otherwise provide one or more instance(s) of project definition data118 at the user device 102. Via communications between the user device102 and the server computer 112, the one or more instance(s) of projectdefinition data 118 can be provided to the server computer 112 for useas will be illustrated and described herein. Alternatively, the userdevice 102 can use the one or more instances of project definition data118 without communicating with the server computer 112. As such, it canbe appreciated that the communication channel 132A is not included inall embodiments of the concepts and technologies disclosed herein.

In some embodiments of the concepts and technologies disclosed herein,the user device 102 and/or the server computer 112 can output mediacontent and/or a media project (hereinafter referred to as a “project”)136. In various embodiments of the concepts and technologies disclosedherein, the project 136 can be provided to a recipient 138 such as, forexample, a web server, another user device, a streaming service,combinations thereof, or the like. Thus, it can be appreciated that therecipient 138 can correspond, in various embodiments, to one or more ofa streaming video server, a social media server, a video server, asmartphone, a laptop, a desktop computer, a mobile telephone, amultimedia server, a messaging server, a networking device, a network,combinations thereof, or the like. Regardless of what entity isreceiving the project 136, it can be appreciated that the project 136may be provided to the recipient 138 via communications.

Thus, the operating environment 100 also can include a communicationchannel 132B, which can exist between the user device 102 and therecipient 138 in some embodiments (in which the user device 102 outputsthe project 136). Additionally, or alternatively, the operatingenvironment 100 can include a communication channel 132C, which canexist between the server computer 112 and the recipient 138 in someembodiments (in which the server computer 112 outputs the project 136).Because various embodiments of the operating environment 100 includeproviding the project 136 to the recipient 138 (or multiple recipients138) by various entities, it should be understood that the illustratedembodiment of the operating environment 100 is illustrative and shouldnot be construed as being limiting in any way.

In practice, a user 134 can interact with the user device 102 to createa project 136. As explained above, the project 136 can include a mediaproject (e.g., multiple scenes of video and/or images combined into asingle project), a video, an image, or the like. Thus, it should beunderstood that the project 136 can correspond to a single video file ora streaming video session and is not limited to multiple instances ofvideo, images, audio, and/or combinations thereof compiled and/orcombined into a single work (though such embodiments are also possibleand are contemplated). The functionality illustrated and describedherein can be invoked, for example, by detecting, at the user device102, a request that corresponds to capturing media (e.g., activating acamera application for images or video, initiating a streaming videosession, activating the content capture application 108, combinationsthereof, or the like).

In response to detecting the request, one or more instances of projectdefinition data 118 can be obtained via interactions at the user device102. The project definition data 118 can be used by the user device 102and/or the server computer 112 (e.g., by the content capture application108 or the content capture service 110) to create the projectdefinitions 116. The project definitions 116 can define various aspectsof the project 136 such as, for example, directorial opinions and/ormissions for the project 136, text and/or speech to be captured, budgetconstraints (time, money, bandwidth, etc.), and the like. These projectdefinitions 116 can be used to create one or more capture suggestions122, as will be more clearly understood below.

One or more device capabilities 120 can be determined for the userdevice 102 (or other device being used to capture one or more instancesof media content 126 for the project 136). According to variousembodiments, the identity of the user device 102 can be determined bythe content capture application 108 or the content capture service 110to determine one or more of the device capabilities 120. In some otherembodiments, the device capabilities 120 can be known to the user device102 and/or the server computer 112 and therefore may not be determinedbased on the identity of the user device 102. Regardless of how thecapabilities of the user device 102 are known, the device capabilities120 can be used to determine how the instances of media content 126 areto be captured. Thus, for example, the device capabilities can define amaximum resolution for video that is captured by the user device 102(this maximum resolution can be based on the camera capabilities, theprocessing capabilities, data storage capabilities, and the datatransmission capabilities of the user device 102, among otherconsiderations) or one or more frame rates for captured video, etc.Thus, the device capabilities can be used (in association with and/orinstead of the project definitions 116) to create the one or morecapture suggestions 122, as will be explained in more detail below.

As will be explained in more detail below, particularly with referenceto FIGS. 4 and 5D, some embodiments of the concepts and technologiesdisclosed herein can provide baseline recommendations to the user device102. The baseline recommendations can provide preliminary suggestions(preliminary relative to the capture suggestions 122 illustrated anddescribed herein) on how to capture content based on device capabilities120, project definitions 116, or other considerations. In someembodiments, a user or other entity (e.g., the user 134) can be allowedand/or can be enabled to modify the baseline recommendations based onvarious considerations. The modified baseline recommendations can beused to create the capture suggestions 122. In some other embodiments,the baseline recommendations can be omitted. Because the modification ofbaseline recommendations to create the capture suggestions 122 isoptional, it should be understood that such embodiments are illustrativeand therefore are not limiting in any way.

Based on the project definitions 116 and/or the capture suggestions 122,the content capture application 108 or the content capture service 110can create one or more capture suggestions 122. The capture suggestions122 can provide guidance to a user 134 or other entity capturing the oneor more instances of media content 126 to ensure that the captured mediasatisfies the various constraints entered by the user 134 or otherentity such as, for example, the mood desired, the budget constraints,the directorial mission and/or opinions, the script intended,combinations thereof, or the like. Thus, the capture suggestions 122 canguide the user 134 or other entity during capture of the media content126 for the project 136. Various aspects of these capture suggestions122 (e.g., screen overlays and/or user interfaces that can be providedto guide the user 134 and/or other entity) will be illustrated anddescribed below, particularly with reference to FIGS. 5A-5L. Because thecapture suggestions 122 can be surfaced to the user 134 or other entityin a variety of manners and/or formats, it should be understood that theillustrated UIs are illustrative of the capture suggestions 122 andshould not be construed as being limiting in any way.

According to various embodiments of the concepts and technologiesdisclosed herein, the user 134 or other entity can accept or adopt oneor more of the capture suggestions 122 via interactions with the userdevice 102. In some embodiments, for example, the user 134 or otherentity can select (e.g., by tapping, clicking, etc.) a capturesuggestion 122 to indicate that this capture suggestion 122 is beingadopted. In some other embodiments, the capture suggestion 122 can beprovided as an overlay, and compliance with the overlay (e.g., acropping suggestion, a panning suggestion, or the like) can be indicatedby detecting (by the content capture application 108 and/or the contentcapture service 110) that the overlay is being complied with during thecapture operation. Such compliance and/or adoption of the capturesuggestions 122 can be detected and/or represented by user input data124, in some embodiments. Thus, compliance with and/or adoption ofcapture suggestions 122 can be tracked for learning and/or trackingpurposes if desired by the user 134 or other entity.

In some embodiments, the media content 126 being captured can bemodified in association with the one or more capture suggestions 122.For example, in some embodiments placement of an advertisement may besuggested by the content capture application 108 and/or the contentcapture service 110, and therefore the advertisement can be embedded inthe media content 126 to create modified media content 128 (e.g., themedia content 126 with the advertisement). Because other modificationsare possible and are contemplated (e.g., zooming, panning, cropping,adjusting resolution, adjusting frame rates, adjusting audio rates,applying codecs, etc.), it should be understood that the modified mediacontent 128 can be the result of any type of modification to the mediacontent 126.

The one or more instances of modified media content 128 can be packagedby the content capture application 108 and/or the content captureservice 110 to create the project 136. In various embodiments, theproject 136 can correspond to a single data file (e.g., a movie projectthat can be formed by creating a new file based on multiple files). Insome other embodiments, the project 136 can correspond to multiple datafiles (e.g., multiple video files and audio files that can be assembledaccording to instructions included in the project 136, or the like). Theproject 136 can be output by the user device 102 and/or the servercomputer 112 to a recipient 138. These and other aspects of the conceptsand technologies disclosed herein will be explained in more detailbelow.

In some embodiments, the operating environment 100 can also include anetwork monitor 140. The network monitor 140 can be configured tomonitor network elements and/or links therebetween such as, for example,the communication channels 132 illustrated and described herein. Thenetwork monitor 140 can be configured to report on the networkperformance. In some embodiments, the network monitor 140 can providenetwork data 142 to the server computer 112 and/or the user device 102automatically, periodically, and/or on-demand or on-request. The networkdata 142 can indicate, among other things, bandwidth availabilityassociated with one or more of the communication channels 132 (e.g.,latency, upload rates, download rates, combinations thereof, or thelike), device processing and/or data storage capabilities (e.g.,processing capacity, storage capacity, processing rates, data storagerates, combinations thereof, or the like), and/or other statisticsassociated with a network (e.g., the network 104), network devices,and/or devices in communication with the network (e.g., the user device102, the server computer 112, etc.). Thus, the network data 142 or otherforms of information can be used by the server computer 112 and/or theuser device 102 to determine device capabilities 120 and/or the projectdefinitions 116, among other things. It should be understood that thisexample is illustrative, and therefore should not be construed as beinglimiting in any way.

Similarly, the operating environment 100 also can include a device table144. The device table 144 can be configured to store informationrelating to device capabilities such as, for example, cameraresolutions, frame rates, storage capacities, data communicationcapacities, memory capacity, processing capacity, combinations thereof,or the like. The device table 144 can be stored at the user device 102,at the server computer 112, and/or at another data storage device orlocation that is external to one or more of the user device 102 and theserver computer 112. Thus, it can be appreciated that the device table144 can be used by the user device 102 and/or the server computer 112 todetermine the device capabilities 120 and/or the project definitions 116as illustrated and described herein. It should be understood that thisexample is illustrative, and therefore should not be construed as beinglimiting in any way.

In some embodiments, the operating environment 100 also can include anadvertising database, which can be used to store one or moreadvertisements. Thus, in some embodiments of the concepts andtechnologies disclosed herein, the content capture service 110 and/orthe content capture application 108 can be configured to obtain anadvertisement from the advertising database (or elsewhere) for insertioninto the media content 126 and/or the project 136. Thus, it can beappreciated that the modified media content 126 can correspond to themedia content 126 with an embedded advertisement, in some embodiments.It should be understood that this example is illustrative, and thereforeshould not be construed as being limiting in any way.

FIG. 1 illustrates one user device 102, one network 104, one servercomputer 112, three communication channels 132, and one recipient 138.It should be understood, however, that various implementations of theoperating environment 100 can include zero, one, or more than one userdevice 102; zero, one, or more than one network 104; zero, one, or morethan one server computer 112; one, two, three, or more than threecommunication channels 132; and/or zero, one, or more than one recipient138. As such, the illustrated embodiment should be understood as beingillustrative, and should not be construed as being limiting in any way.

Turning now to FIG. 2, aspects of a method 200 for creating a project136 will be described in detail, according to an illustrativeembodiment. It should be understood that the operations of the methodsdisclosed herein are not necessarily presented in any particular orderand that performance of some or all of the operations in an alternativeorder(s) is possible and is contemplated. The operations have beenpresented in the demonstrated order for ease of description andillustration. Operations may be added, omitted, and/or performedsimultaneously, without departing from the scope of the concepts andtechnologies disclosed herein.

It also should be understood that the methods disclosed herein can beended at any time and need not be performed in its entirety. Some or alloperations of the methods, and/or substantially equivalent operations,can be performed by execution of computer-readable instructions includedon a computer storage media, as defined herein. The term“computer-readable instructions,” and variants thereof, as used herein,is used expansively to include routines, applications, applicationmodules, program modules, programs, components, data structures,algorithms, and the like. Computer-readable instructions can beimplemented on various system configurations including single-processoror multiprocessor systems, minicomputers, mainframe computers, personalcomputers, hand-held computing devices, microprocessor-based,programmable consumer electronics, combinations thereof, and the like.

Thus, it should be appreciated that the logical operations describedherein are implemented (1) as a sequence of computer implemented acts orprogram modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance and other requirements of the computing system.Accordingly, the logical operations described herein are referred tovariously as states, operations, structural devices, acts, or modules.These states, operations, structural devices, acts, and modules may beimplemented in software, in firmware, in special purpose digital logic,and any combination thereof. As used herein, the phrase “cause aprocessor to perform operations” and variants thereof is used to referto causing a processor of a computing system or device, such as the userdevice 102 or the server computer 112, to perform one or more operationsand/or causing the processor to direct other components of the computingsystem or device to perform one or more of the operations.

For purposes of illustrating and describing the concepts of the presentdisclosure, the method 200 is described herein as being performed by theserver computer 112 via execution of one or more software modules suchas, for example, the content capture service 110. It should beunderstood that additional and/or alternative devices and/or networknodes can provide the functionality described herein via execution ofone or more modules, applications, and/or other software including, butnot limited to, the content capture service 110. For example, asexplained above with reference to FIG. 1, the functionality of thecontent capture service 110 can be incorporated into the content captureapplication 108, and as such, the user device 102 can perform theoperations described herein, in some embodiments. Thus, the illustratedembodiment of the method 200 should be understood as being illustrative,and should not be viewed as being limiting in any way.

The method 200 begins at operation 202. At operation 202, the servercomputer 112 can determine project definitions 116. According to variousembodiments of the concepts and technologies disclosed herein, theproject definitions 116 can be determined by the server computer 112 byway of analyzing one or more instances of project definition data 118and/or other information 130. As will be explained in more detailhereinbelow, the project definition data 118 can include, but is notlimited to, location information that can define one or more geographiclocations; text or script data that can represent a script for a project136; view history data that can represented prior viewership of mediaassociated with a particular user, device, location, entity,combinations thereof, or the like; budget information that can definevarious budgets (e.g., a monetary budget for the project 136; a minimum,maximum, or range of time duration for the project 136; a bandwidthlimit for uploading, downloading, streaming, or otherwise transmittingthe project 136; and/or other information that can be used to define oneor more aspects of a project 136). These and other types of informationcan be used to define the project definitions 116 and can be defined bya user or other entity, by preferences, by settings, by networkavailability and/or performance characteristics, combinations thereof,or the like. Additional details of the determination of the projectdefinitions 116 will be illustrated and described with reference to FIG.3.

From operation 202, the method 200 can proceed to operation 204. Atoperation 204, the server computer 112 can determine capabilities of theuser device 102 (or other device being used to capture media content126) such as the device capabilities 120. According to variousembodiments of the concepts and technologies disclosed herein, thedevice capabilities 120 can include any capabilities of the user device102 that can affect creation of the project 136.

In various example embodiments, the device capabilities can representbattery life of the user device 102, memory capacity of the user device102, processing speed and/or other processing capabilities of the userdevice 102, resolution capabilities of one or more cameras of the userdevice 102, frame rate capabilities of one or more cameras of the userdevice 102, optical and/or digital zoom capabilities of one or morecameras of the user device 102, audio capture capabilities (e.g.,sampling rate, effective range, frequency range, etc.) of one or moreaudio devices (e.g., microphones) of the user device 102, networkingcapabilities (e.g., connection speed, latency, transmission speeds) ofthe user device 102 and/or a current or expected network connection ofthe user device 102, available audio and/or video codecs, combinationsthereof, or the like. As such, the device capabilities 120 can represent(or can be analyzed to determine) various aspects of the project 136that is to be created such as, for example, video resolution, videoframe rates, video file size, video length, video color depth, videoformat, combinations thereof, or the like; audio quality, audio filesize, audio sampling rate, audio frequency range, audio format,combinations thereof, or the like; project file size, length, format,combinations thereof, or the like; and/or other aspects of the project136 that is to be created. Additional details of determining the devicecapabilities 120 will be illustrated and described with reference toFIG. 4.

From operation 204, the method 200 can proceed to operation 206. Atoperation 206, the server computer 112 can determine capture suggestions122. According to various embodiments of the concepts and technologiesdisclosed herein, the capture suggestions 122 can include one or moresuggestions for capturing the media content 126. The capture suggestions122 can be based on one or more of the project definitions 116 or thedevice capabilities 120. Thus, it can be appreciated that the capturesuggestions 122 can include suggestions relating to location, budget,target/subject of the media content 126, optical and/or digital zoomlevel of a camera being used to capture the media content 126, pan of acamera being used to capture the media content 126, cropping of a sceneand/or subject being captured in the media content 126, content and/orcontext of the media content 126, combinations thereof, or the like.Various example user interfaces will be illustrated and described hereinfor how the capture suggestions 122 can be provided to a user 134,particularly with reference to FIGS. 5A-5L. Various embodiments of thecapture suggestions 122 will be more clearly understood with referenceto these drawings, but a few examples are provided here forillustration.

In one example embodiment, a capture suggestion 122 determined inoperation 206 can include, for example, a suggestion to crop mediacontent 126 being captured around a specified target (e.g., a sign, aperson, a place, or the like). In another example embodiment, a capturesuggestion 122 determined in operation 206 can include, for example, asuggestion to zoom in on a specified target (e.g., a sign, a person, aplace, or the like) during capture of the media content 126. In anotherexample embodiment, a capture suggestion 122 determined in operation 206can include, for example, a suggestion to zoom out during capture of themedia content 126.

In another example embodiment, a capture suggestion 122 determined inoperation 206 can include, for example, a suggestion to pan a camera onedirection or another during capture of the media content 126. In anotherexample embodiment, a capture suggestion 122 determined in operation 206can include, for example, a suggestion to rotate a camera (e.g., so theview is rotated clockwise or counterclockwise) during capture of themedia content 126. In yet another example embodiment, a capturesuggestion 122 determined in operation 206 can include, for example, asuggestion to continue a detected mood from a previous scene (e.g., byzooming to a particular zoom level, by panning to a particular scene, byframing the view on a particular color, brightness, or the like,combinations thereof, or the like).

In another example embodiment, a capture suggestion 122 determined inoperation 206 can include, for example, a suggestion to time a cut-pointof the media content 126 for a particular syntax or mood. In yet anotherexample embodiment, a capture suggestion 122 determined in operation 206can include, for example, a suggestion to focus on a particular object,target, person, or place during capture of the media content 126. In yetanother example embodiment, a capture suggestion 122 determined inoperation 206 can include, for example, a suggestion to add speech ortext to a particular scene during capture of the media content 126.Other suggestions that can be provided as the capture suggestions 122will be illustrated and described herein, and as such, it should beunderstood that these examples are illustrative, and therefore shouldnot be construed as being limiting in any way.

From operation 206, the method 200 can proceed to operation 208. Atoperation 208, the server computer 112 can deliver the capturesuggestions 122 determined in operation 206 to the user device 102. Insome embodiments, the functionality of operation 208 can correspond tothe user device 102 surfacing the capture suggestions 122, e.g., bypresenting the capture suggestions 122 on a display, by providing anoverlay for guiding capture of the media content 126 or for providingother instructions, by playing a sound at the user device 102 or otherdevice, by displaying an alert at the user device 102 or other device,by providing a voice command at the user device 102 or other device,combinations thereof, or the like, or otherwise outputting the capturesuggestions 122 and/or portions thereof at the user device or elsewhere.Because the capture suggestions 122 can be provided in other manners, itshould be understood that these examples are illustrative, and thereforeshould not be construed as being limiting in any way.

From operation 208, the method 200 can proceed to operation 210. Atoperation 210, the server computer 112 can assemble the project 136. Ascan be appreciated from the description of FIG. 1, the project 136 caninclude a media project (e.g., multiple scenes of video and/or imagescombined into a single project), one or more video files, one or moreimage files, combinations thereof, or the like. Thus, it should beunderstood that the project 136 can correspond to a one or more videofiles, image files, audio files, and/or a streaming data sessions. Thus,operation 210 can include obtaining the one or more video files, imagefiles, audio files, and/or other media content 126 or modified mediacontent 128. In some embodiments, the project 136 can include one ormore instances of video files, image files, audio files, and/orcombinations thereof compiled and/or combined into a single work. Thus,operation 210 can also include the one or more instances of mediacontent 126 and/or modified media content 128 being complied into aproject 136 (e.g., a finished video project). It should be understoodthat this example is illustrative, and therefore should not be construedas being limiting in any way.

From operation 210, the method 200 can proceed to operation 212. Atoperation 212, the server computer 112 can output the project 136. Invarious embodiments, the project 136 can be provided to a recipient 138such as a web server, an application server, a consumer device (e.g., asmartphone, mobile phone, tablet, laptop, or the like), a streamingservice or streaming service server, a social media server (e.g., aserver associated with a live video share service), combinationsthereof, or the like. Thus, it can be appreciated that the recipient 138can correspond, in various embodiments, to one or more streaming videoserver, video service device, a social media server, a video server, asmartphone, a laptop, a desktop computer, a mobile telephone, amultimedia server, a messaging server, a networking device, a network,combinations thereof, or the like. In some other embodiments, theproject 136 can be output to a data storage device at or incommunication with the server computer 112 or the user device 102 (e.g.,a database, a memory of the user device 102, or the like). Because theproject 136 can be stored or output to almost any recipient 138, itshould be understood that these examples are illustrative, and thereforeshould not be construed as being limiting in any way.

From operation 212, the method 200 can proceed to operation 214. Atoperation 214, the server computer 112 can perform project analysis andlearning on the project 136. It can be appreciated that thefunctionality of operation 214 can occur before assembly of the project136 or elsewhere. At any rate, operation 214 can correspond to theserver computer 112 or other device analyzing the project 136, thecapture suggestions 122, the user input data 124, the media content 126,the modified media content 128, and/or other project data 114 todetermine how the project 136 has been affected by the capturesuggestions 122. Thus, operation 214 can correspond to the servercomputer 112 or user device 102 performing machine learning or otheranalysis to improve future suggestions and/or operations of the contentcapture application 108 and/or the content capture service 110. Thislearning can be performed to improve functionality of the contentcapture application 108 and/or the content capture service 110 and/or tounderstand how particular users or other entities use informationcreated by the content capture application 108 and/or the contentcapture service 110. Because other types of analysis and learning can beperformed, it should be understood that these examples are illustrative,and therefore should not be construed as being limiting in any way.

From operation 214, the method 200 can proceed to operation 216. Themethod 200 can end at operation 216.

Turning now to FIG. 3, aspects of a method 300 for receiving projectdefinitions will be described in detail, according to an illustrativeembodiment. For purposes of illustrating and describing the concepts ofthe present disclosure, the method 300 is described herein as beingperformed by the server computer 112 via execution of one or moresoftware modules such as, for example, the content capture service 110.It should be understood that additional and/or alternative devicesand/or network nodes can provide the functionality described herein viaexecution of one or more modules, applications, and/or other softwareincluding, but not limited to, the content capture service 110. Forexample, as explained above with reference to FIG. 1, the functionalityof the content capture service 110 can be incorporated into the contentcapture application 108, and as such, the user device 102 can performthe operations described herein, in some embodiments. Thus, theillustrated embodiment of the method 300 should be understood as beingillustrative, and should not be viewed as being limiting in any way.

The method 300 begins at operation 302. At operation 302, the servercomputer 112 can determine a location associated with the project 136,the media content 126 or other content being captured, the user device102, and/or other entities, devices, or the like such as, for example,other devices being used to capture the media content 126 or othercontent for the project 136. According to various embodiments of theconcepts and technologies disclosed herein, the location can bedetermined based on one or more instances of location data such as, forexample, GPS location information obtained from a location device orsystem of the user device 102 (or other device capturing the mediacontent 126), a location server (e.g., a location determination deviceor server of a wireless network), proximity to location beacons, otherlocation determination technologies (e.g., triangulation, or the like),combinations thereof, or the like. Thus, it can be appreciated that thelocation(s) determined in operation 302 can be obtained from the userdevice 102, from a user 134, from the server computer 112, and/or fromother devices or entities (e.g., from a location server or other networkdevice). Because the locations associated with a particular project 136can be obtained in additional and/or alternative manners, it should beunderstood that the above examples are illustrative, and thereforeshould not be construed as being limiting in any way.

According to various embodiments of the concepts and technologiesdisclosed herein, location information can be used (alone or inassociation with other data such as contextual information or the like)to modify the media content 126 and/or the project 136. For example,location-based sensitivities and/or culture may inform the contentcapture service 110 to modify certain aspects of a project 136. Forexample, the content capture service 110 can be configured to determinean expected audience for the project 136. If the expected audience forthe project 136 includes children, for example, the content captureservice 110 can remove strong language and/or mature content. Similarly,various evolving social “norms” may be used to create suggestions and/orto modify the media content 126 automatically. It should be understoodthat this example is illustrative, and therefore should not be construedas being limiting in any way.

From operation 302, the method 300 can proceed to operation 304. Atoperation 304, the server computer 112 can obtain text and/or scriptsassociated with the project 136 such as, for example, a text of spokenwords to be said in a particular project 136, text that is to beviewable in a particular project 136 (e.g., text on buildings, screens,documents, or other entities visible in media associated with theproject 136), text that is to be overlaid on an image associated withthe project 136 (e.g., text providing location or background informationfor an image or video, or the like), and/or other text. The scripts caninclude, for example, a script for a project 136 including movement ofcharacters, targets for the media content 126, scene descriptions,spoken words, etc. associated with the project 136. Thus, operation 304can correspond to the server computer 112 obtaining text and/ordescriptions associated with the project 136. Because other text and/orscripts may be obtained in various embodiments, it should be understoodthat the above examples are illustrative, and therefore should not beconstrued as being limiting in any way.

From operation 304, the method 300 can proceed to operation 306. Atoperation 306, the server computer 112 can obtain a viewer history. Theviewer history obtained in operation 306 can correspond, in someembodiments, to a number of viewers and/or demographic information forviews of content previously captured and/or created by the user 134and/or the user device 102. In some other embodiments, the viewerhistory obtained in operation 306 can correspond to a viewership historyassociated with a particular genre of content (e.g., a genre in whichthis particular project 136 can be categorized). Thus, the viewerhistory can provide information that may be used to estimate an audiencefor the project 136 including, for example, demographics of theaudience, number of viewers, location of viewers, etc. In someembodiments, the viewer history can be used to modify the media content126 based on locale (e.g., to remove language considered offensive insome locales, to change stories based on locale, combinations thereof,or the like). Thus, the viewer history can be used to make changes (orsuggestions for changes) to the project 136.

The viewer history obtained in operation 306 can be provided by therecipient 138 and/or other entities (e.g., media services, socialnetworking services, video services, combinations thereof, or the like).The viewer history can be provided as ratings information, tables, or inother formats and can be analysis by the content capture application 108and/or the content capture service 110 to determine the associatedviewer history, if desired. Regardless of how the viewer history isobtained, it can be appreciated that the viewer history can providevarious considerations that may be used to alter a resolution of videocaptured for the project 136, to alter a frame rate of video capturedfor the project 136, to alter a time duration of the project 136, toalter quality of audio and/or video associated with the project 136, toexpand and/or limit distribution of the project 136 (e.g., limitingand/or expanding the geographic distribution of the project 136,limiting and/or exploding an amount of time for which the project 136 isavailable, combinations thereof, or the like). Because the viewerhistory can be used for additional and/or alternative purposes, itshould be understood that the above examples are illustrative, andtherefore should not be construed as being limiting in any way.

From operation 306, the method 300 can proceed to operation 308. Atoperation 308, the server computer 112 can obtain a budget associatedwith the project 136. As explained above with reference to FIG. 1, thebudget can be defined in terms of money, time, computing resources,location, people (and/or numbers of people), combinations thereof, orthe like. In particular, the budget can be defined as a monetary budgetfor the project 136. Thus, the budget can define an amount of money thatcan be spent on the project 136 and/or on particular scenes of theproject 136.

The budget also can define a time duration associated with the mediaproject and/or an instance of media content 126. Thus, for example, thebudget can define a maximum running time, a minimum running time, and/ora range of running times for the project 136 and/or instances of mediacontent 126 associated with the project 136. Still further, the budgetcan define a computing resource budget for the project 136. The computerresource budget can include, for example, a minimum, maximum, average,and/or range of bandwidth available for communication (upload, download,streaming, etc.) of a particular instance of media content 126 and/orthe project 136; processing capacity for use in processing the mediacontent 126 and/or the project 136; data storage capacity for storingand/or caching the media content 126 and/or the project 136;combinations thereof; or the like.

Additionally, budget can be defined by location data such as, forexample, a maximum or minimum number of locations at which media content126 associated with the project 136 can be captured, amounts of timethat can be spent at particular locations, locations at which mediacontent 126 must (or cannot) be captured, combinations thereof, or thelike. Budget also can be defined by people and/or numbers of people suchas, for example, a number of people (maximum, minimum, and/or ranges)that can or must appear in media content 126 associated with the project136, specific people that must (or cannot) appear in the media content126 and/or the project 136, combinations thereof, or the like. Becauseother information can be used to define one or more aspects of a mediaproject, it should be understood that the above examples areillustrative, and therefore should not be construed as being limiting inany way.

From operation 308, the method 300 can proceed to operation 310. Atoperation 310, the server computer 112 can perform an analysis on theinformation obtained in operations 302-310. This analysis in operation310 can be performed, for example, to determine the project definitions116. It therefore can be appreciated that the project definitions 116can be based on locations associated with the project 136, text and/orscripts associated with the project 136, viewer history associated withthe user 134 and/or the user device 102, one or more budget constraints,and the like. Thus, in operation 310, the server computer 112 cananalyze the various types of information obtained in operations 302-310and determine, based on this analysis, various aspects of the project136 such as, for example, a location to be featured in the project 136,a location at which the project 136 is to be viewed, changes that shouldbe made to the project 136 based on location of viewership and/orcreation (e.g., textual changes, subject matter changes, etc.), textand/or spoken words that should be captured as part of the project 136,viewer history and/or anticipated audiences for the project 136, budgetsassociated with the project 136, combinations thereof, or the like.Thus, it can be appreciated that in operation 310, the server computer112 can determine and/or output the project definitions 116.

Although not shown separately in FIG. 3, it should be understood thatthe server computer 112 also can obtain other information 130 and cananalyze that information as well. For example, the server computer 112can obtain contextual information to determine an audience for theproject 136, a device that will be used to view the project 136, and/orother contextual information that may inform how the media content 126should be captured. By way of example, a capture suggestion 122 mayinform the user 134 to get closer to the target of the media content 126based on a contextual determination that indicates that the audiencewill be viewing the media content 126 (or the project 136) on a devicewith a small screen, and a similar determination that the currentviewing distance will make the target difficult to see on that device.As such, it should be understood that the analysis of operation 310 alsocan include analyzing other information 130 such as audienceinformation, context information, combinations thereof, or the like. Itshould be understood that this example is illustrative, and thereforeshould not be construed as being limiting in any way.

From operation 310, the method 300 can proceed to operation 312. Themethod 300 can end at operation 312. It can be appreciated that throughperformance of the method 300, the project definitions 116 can bedetermined and that the method 200 can proceed from operation 202 if themethod 300 is performed in association with the performance of operation202 in the method 200. It should be understood that this example isillustrative, and therefore should not be construed as being limiting inany way.

Turning now to FIG. 4, aspects of a method 400 for determining devicecapabilities will be described in detail, according to an illustrativeembodiment. For purposes of illustrating and describing the concepts ofthe present disclosure, the method 400 is described herein as beingperformed by the server computer 112 via execution of one or moresoftware modules such as, for example, the content capture service 110.It should be understood that additional and/or alternative devicesand/or network nodes can provide the functionality described herein viaexecution of one or more modules, applications, and/or other softwareincluding, but not limited to, the content capture service 110. Forexample, as explained above with reference to FIG. 1, the functionalityof the content capture service 110 can be incorporated into the contentcapture application 108, and as such, the user device 102 can performthe operations described herein, in some embodiments. Thus, theillustrated embodiment of the method 400 should be understood as beingillustrative, and should not be viewed as being limiting in any way.

The method 400 begins at operation 402. At operation 402, the servercomputer 112 can identify one or more user devices (e.g., the userdevice 102), for example, devices that are to be used to capture themedia content 126 associated with the project 136. Thus, in operation402, the server computer 112 can identify one or more user devices thatare to be used to capture content (e.g., the media content 126), one ormore user devices that are to be used to obtain user input data 124(e.g., texts and/or scripts associated with the project 136, targetsand/or scenes associated with the project 136, locations at whichcontent is to be captured for the project 136, etc.), and/or one or moreuser devices that are to be used to create the project 136. In thecontent of FIG. 1, it can be appreciated that operation 402 cancorrespond to identifying the user device 102. It should be understoodthat this example is illustrative, and therefore should not be construedas being limiting in any way.

The devices can be identified in operation 402 by detecting what deviceis communicating with the server computer 112, by identifying the user134 and his or her associated user devices, by accessing settings and/orpreferences associated with the user device 102 and/or the servercomputer 112, and/or in other manners. In some embodiments, the user 134may explicitly identify the user device 102 as being used to create theproject 136. Because the user device 102 and/or other devices that areto be used to capture media content 126 and/or otherwise associated withthe creation of the project 136 can be identified in additional and/oralternative manners, it should be understood that the above examples areillustrative, and therefore should not be construed as being limiting inany way.

From operation 402, the method 400 can proceed to operation 404. Atoperation 404, the server computer 112 can identify one or moreconnection statistics associated with one or more communication channels132 between the user device 102 and a recipient 138, between the servercomputer 112 and the recipient 138, between the server computer 112 andthe user device 102, and/or other communication channels 132. It shouldbe appreciated that in some embodiments, the server computer 112 (or theuser device 102) can perform operation 404 by obtaining, from thenetwork monitor 140, the network data 142. It should be understood thatthis example is illustrative, and therefore should not be construed asbeing limiting in any way.

In some embodiments, operation 404 can include the server computer 112identifying one or more communication channels 132 that will be usedduring creation and/or providing of the project 136, and determining,for the identified communication channels 132, one or more connectionstatistic(s) associated with those connection(s). The connectionstatistics can be determined in a number of manners such as, forexample, querying a network reporting device, performing ping testsand/or connection tests, performing test communications with the userdevice 102 and/or other devices, combinations thereof, or the like.Because other manners of obtaining connection statistics for acommunication channel 132 can be utilized in association withembodiments of the concepts and technologies disclosed herein, it shouldbe understood that these examples are illustrative, and therefore shouldnot be construed as being limiting in any way.

From operation 404, the method 400 can proceed to operation 406. Atoperation 406, the server computer 112 can determine one or morebaseline recommendations for the user device 102 or other device(s)being used to capture media content 126 associated with the project 136.The baseline recommendations determined in operation 406 can be based onpreferences, settings, and/or known qualities or characteristics for aparticular user device 102. Thus, the baseline recommendations can bebased on past performance and/or recommended performance levels. Theterm “baseline,” however, is used to indicate that these recommendationsare merely a suggested and can be modified by a user 134 or other entity(e.g., via the submission of user input data 124 as illustrated anddescribed herein). As such, the baseline recommendations may be aminimum in some embodiments, but this is not necessarily the case as insome instances, a user may modify the device capabilities 120 below arecommended baseline. It should be understood that this example isillustrative, and therefore should not be construed as being limiting inany way.

According to various embodiments of the concepts and technologiesdisclosed herein, the baseline recommendations determined in operation406 can represent, inter alia, a video resolution for media content 126captured as part of the project 136 and/or for the project 136; a videoresolution for media content 126 captured as part of the project 136and/or for the project 136; a video frame rates for media content 126captured as part of the project 136 and/or for the project 136; an audiosampling rate for audio captured as part of the project 136 and/or forthe project 136; a frequency range for audio captured as part of theproject 136 and/or for the project 136; codecs and/or formats that areto be used for the media content 126 captured as part of the project 136and/or for the project 136; data transfer rates and/or communicationschannels to be used to transmit and/or receive media content 126 and/orthe project 136; combinations thereof; or the like. Because otherbaseline recommendations can be made in operation 406, it should beunderstood that the above-listed examples are illustrative, andtherefore should not be construed as being limiting in any way.

From operation 406, the method 400 can proceed to operation 408. Atoperation 408, the server computer 112 can modify the baselinerecommendations determined in operation 406 based on input (e.g., fromthe user 134 or other entity, based on settings, based on preferences,combinations thereof, or the like). Thus, for example, a baselinerecommendation may recommend a frame rate of thirty frames for mediacontent 126 captured as part of the project 136 and/or for the project136. User preferences and/or input can modify this baselinerecommendation up or down (e.g., to twenty frames per second, sixtyframes per second, or other frame rates). Thus, in operation 408 itshould be understood that the server computer 112 or other entity canquery a user 134 (e.g., via communications via the user device 102) toadjust one or more baseline recommendations; and obtain input from theuser relating to these baseline recommendations. Because changes to thebaseline recommendations can be obtained in additional and/oralternative manners, it should be understood that this example isillustrative, and therefore should not be construed as being limiting inany way.

From operation 408, the method 400 can proceed to operation 410. Themethod 400 can end at operation 410. It can be appreciated that throughperformance of the method 400, the device capabilities 120 can bedetermined (as adjusted in operation 408, if desired), and that themethod 200 can proceed from operation 204 if the method 400 is performedin association with the performance of operation 204 in the method 200.It should be understood that this example is illustrative, and thereforeshould not be construed as being limiting in any way.

FIGS. 5A-5L are user interface (“UI”) diagrams showing aspects of UIsfor using and/or interacting with the content capture application 108and/or the content capture service 110, according to some illustrativeembodiments of the concepts and technologies disclosed herein. FIG. 5Ashows an illustrative screen display 500A. According to some embodimentsof the concepts and technologies described herein, the screen display500A can be generated by a device such as the user device 102 viainteractions with the content capture service 110 and/or the contentcapture application 108. In particular, according to variousembodiments, the user device 102 can generate the screen display 500Aand/or other screen displays in conjunction with and/or based uponinteractions with the content capture application 108 described herein,which can be configured to render the screen display 500A using datagenerated at the user device 102 and/or using data provided by thecontent capture service 110. It should be appreciated that the UIdiagram illustrated in FIG. 5A is illustrative of one contemplatedexample of the UIs that can be generated and/or displayed in accordancewith the concepts and technologies disclosed herein, and thereforeshould not be construed as being limited in any way.

According to various embodiments, the screen display 500A can bepresented, for example, to obtain location information and/or atsubmission of project definition data 118 as illustrated and describedherein with respect to operations 202 and 302 of the methods 200 and 300shown in FIGS. 2 and 3. For example, a user 134 or other entity mayselect an option to add locations associated with a project 136 and/ormay be prompted to submit location information. Because the screendisplay 500A illustrated in FIG. 5A (and/or other screen displays forobtaining location information) can be displayed at additional and/oralternative times, it should be understood that the above examples areillustrative and therefore should not be construed as being limiting inany way.

The screen display 500A can include various menus and/or menu options(not shown in FIG. 5A). The screen display 500A also can include alocation information submission window 502. The location informationsubmission window 502 can be configured to enable a user 134 or otherentity to add locations associated with a project 136 and/or mediacontent 126. The location information submission window 502 can includea location list field 504. The location list field 504 can provide alisting of all location information associated with a particular project136. The order of the locations can be changed, in some embodiments, bydragging and dropping locations within the location list field 504,though this is not necessarily the case. In the illustrated embodiment,the location list field 504 includes seven locations associated with aproject 136. These locations may have been entered by a user 134 orother entity, as will be more clearly understood with reference to theadditional elements of the screen display 500A. At any rate, it shouldbe understood that the example embodiment is illustrative and thereforeshould not be construed as being limiting in any way.

As shown in FIG. 5A, the location information submission window 502 alsoincludes a UI control 506. Selection of the UI control 506 can cause theuser device 102 to determine its current location (e.g., by accessing anonboard or off-board GPS device or other location device) and to add thedetermined location to the location list field 504. It should beunderstood that this example is illustrative and therefore should not beconstrued as being limiting in any way.

The location information submission window 502 also can include a UIcontrol 508 to add another location to the location list field 504.Selection of the UI control 508 can cause the user device 102 to presenta text field, map, or other field or interface for adding anotherlocation. In the illustrated embodiment, the UI control 508 causes theuser device to present a text field for entry of a ZIP code. It shouldbe understood that this example is illustrative, and therefore shouldnot be construed as being limiting in any way.

The location information submission window 502 also can include a UIcontrol 510 to remove a highlighted location from the location listfield 504. Thus, for example, the user 134 or other entity can select alocation in the location list field 504 and select the UI control 510 tocause the user device 102 to remove the selected location from thelocation list field 504. The location information submission window 502also can include a UI control 512 to accept the locations listed in thelocation list field 504, to continue to other interfaces, to exit thelocation submission functionality, and/or to otherwise complete thelocation submission functionality illustrated and described herein.Because additional or alternative controls can be included in thelocation information submission window 502, it should be understood thatthe example embodiment shown in FIG. 5A is illustrative and thereforeshould not be construed as being limiting in any way.

FIG. 5B shows an illustrative screen display 500B. According to someembodiments of the concepts and technologies described herein, thescreen display 500B can be generated by a device such as the user device102 via interactions with the content capture service 110 and/or thecontent capture application 108. In particular, according to variousembodiments, the user device 102 can generate the screen display 500Band/or other screen displays in conjunction with and/or based uponinteractions with the content capture application 108 described herein,which can be configured to render the screen display 500B using datagenerated at the user device 102 and/or using data provided by thecontent capture service 110. It should be appreciated that the UIdiagram illustrated in FIG. 5B is illustrative of one contemplatedexample of the UIs that can be generated and/or displayed in accordancewith the concepts and technologies disclosed herein, and thereforeshould not be construed as being limiting in any way.

According to various embodiments, the screen display 500B can bepresented, for example, to obtain text and/or scripts as illustrated anddescribed herein with respect to operation 304 of the method 300 shownin FIG. 3. For example, a user 134 or other entity may select an optionto add a text or script associated with a project 136 and/or may beprompted to submit such text and/or scripts. Because the screen display500B illustrated in FIG. 5B (and/or other screen displays for obtainingtext or script information) can be displayed at additional and/oralternative times, it should be understood that the above examples areillustrative and therefore should not be construed as being limiting inany way.

The screen display 500B can include various menus and/or menu options(not shown in FIG. 5B). The screen display 500B also can include a textor script submission window 514. The text or script submission window514 can be configured to enable a user 134 or other entity to add a textor script associated with a project 136 and/or media content 126. Thetext or script submission window 514 can include a UI control 516 tolocate or find a document with text or script information associatedwith the project 136 (e.g., a document having the text associated withthe project 136 and/or a document having a script associated with theproject 136). In response to detecting a selection of the UI control516, the user device 102 can provide a search interface to locate adocument from a file storage location, a file storage service, or otherlocal or remote data storage location or service.

As shown in FIG. 5B, the text or script submission window 514 alsoincludes a UI control 518. Selection of the UI control 518 can cause theuser device 102 to attach the document found or located using the UIcontrol 516 so that it can be submitted, uploaded, transmitted, orotherwise used (e.g., used locally). It can be appreciated that the UIcontrol 518 can cause the user device 102 to take any action needed tomake the text or script available to the content capture application 108and/or the content capture service 110. The text or script submissionwindow 514 also can include a text field 520. The text field 520 can beused to allow a user 134 or other entity to enter text or a script(e.g., if no text or script file exists). Thus, embodiments of theconcepts and technologies disclosed herein support creating a script ortext document. It should be understood that this example isillustrative, and therefore should not be construed as being limiting inany way.

The text or script submission window 514 also can include a UI control522 to accept the script or text file attached, or the text or scriptentered, to continue to other interfaces, to exit the text or scriptsubmission functionality, and/or to otherwise complete the text orscript submission functionality illustrated and described herein.Because additional or alternative controls can be included in the textor script submission window 514, it should be understood that theexample embodiment shown in FIG. 5B is illustrative and therefore shouldnot be construed as being limiting in any way.

FIG. 5C shows an illustrative screen display 500C. According to someembodiments of the concepts and technologies described herein, thescreen display 500C can be generated by a device such as the user device102 via interactions with the content capture service 110 and/or thecontent capture application 108. In particular, according to variousembodiments, the user device 102 can generate the screen display 500Cand/or other screen displays in conjunction with and/or based uponinteractions with the content capture application 108 described herein,which can be configured to render the screen display 500C using datagenerated at the user device 102 and/or using data provided by thecontent capture service 110. It should be appreciated that the UIdiagram illustrated in FIG. 5C is illustrative of one contemplatedexample of the UIs that can be generated and/or displayed in accordancewith the concepts and technologies disclosed herein, and thereforeshould not be construed as being limited in any way.

According to various embodiments, the screen display 500C can bepresented, for example, to obtain one or more budgets as illustrated anddescribed herein with respect to operation 308 of the method 300 shownin FIG. 3. For example, a user 134 or other entity may select an optionto add a budget associated with a project 136 and/or may be prompted tosubmit such a budget. Because the screen display 500C illustrated inFIG. 5C (and/or other screen displays for obtaining budget information)can be displayed at additional and/or alternative times, it should beunderstood that the above examples are illustrative and therefore shouldnot be construed as being limiting in any way.

The screen display 500C can include various menus and/or menu options(not shown in FIG. 5C). The screen display 500C also can include abudget entry window 524. The budget entry window 524 can be configuredto enable a user 134 or other entity to add or define one or morebudgets associated with a project 136 and/or media content 126. Thebudget entry window 524 can include a budget field 526. The budget field526 can list all budgets associated with the project 136. As explainedherein, a budget for a project 136 can include, for example, a monetarybudget, a location budget, a time budget, a person budget, a scenebudget, a file size budget, and/or other budgets. As such, theillustrated budgets are merely illustrative and should not be construedas being limiting in any way.

As shown in FIG. 5C, the budget entry window 524 also includes variousinterface elements for adding a budget to the project 136. Although notillustrated in FIG. 5C, it can be appreciated that the budget entrywindow 524 can also include a remove budget option whereby a user 134 orother entity can select a budget and select the remove budget option toremove the selected budget from the budget entry window 524 (similar tothe remove location option discussed with reference to FIG. 5A). Itshould be understood that this example is illustrative, and thereforeshould not be construed as being limiting in any way.

The budget entry window 524 can include a UI control 528. The UI control528 is illustrated as a drop-down box to select a type of budget, thoughthis is not necessarily the case. Selection of the UI control 528 cancause the user device 102 to present a menu of the types of budgetsavailable so that the budget parameters and/or ranges can be set via thetext fields 530, 532 if desired. In the illustrated embodiment, if avalue is put in only one text field (e.g., the text field 530), thebudget can be defined as a minimum number only (via text entry in thetext field 530), a maximum number only (via text entry in the text field532), or as a range (via text entry in both text fields 530, 532). Itshould be understood that this example is illustrative, and thereforeshould not be construed as being limiting in any way.

Once budget parameter(s) are set, selection of the UI control 534 cancause the user device 102 to add the budget to the budget field 526. Thebudget entry window 524 also can include a UI control 536 to accept thebudgets as entered, to continue to other interfaces, to exit the budgetsubmission functionality, and/or to otherwise complete the budgetsubmission functionality illustrated and described herein. Becauseadditional or alternative controls can be included in the budget entrywindow 524, it should be understood that the example embodiment shown inFIG. 5C is illustrative and therefore should not be construed as beinglimiting in any way.

FIG. 5D shows an illustrative screen display 500D. According to someembodiments of the concepts and technologies described herein, thescreen display 500D can be generated by a device such as the user device102 via interactions with the content capture service 110 and/or thecontent capture application 108. In particular, according to variousembodiments, the user device 102 can generate the screen display 500Dand/or other screen displays in conjunction with and/or based uponinteractions with the content capture application 108 described herein,which can be configured to render the screen display 500D using datagenerated at the user device 102 and/or using data provided by thecontent capture service 110. It should be appreciated that the UIdiagram illustrated in FIG. 5D is illustrative of one contemplatedexample of the UIs that can be generated and/or displayed in accordancewith the concepts and technologies disclosed herein, and thereforeshould not be construed as being limited in any way.

According to various embodiments, the screen display 500D can bepresented, for example, to present and/or to enable modification of oneor more baseline recommendations as illustrated and described hereinwith respect to operations 406-408 of the method 400 shown in FIG. 4.For example, a user 134 or other entity may select an option to viewbaseline recommendations, the baseline recommendations can be surfacedto the user 134 or other entity, and/or the user 134 or other entity mayselect an option to modify baseline recommendations. Because the screendisplay 500D illustrated in FIG. 5D (and/or other screen displays forpresenting and/or modifying baseline recommendations) can be displayedat additional and/or alternative times, it should be understood that theabove examples are illustrative and therefore should not be construed asbeing limiting in any way.

The screen display 500D can include various menus and/or menu options(not shown in FIG. 5D). The screen display 500D also can include abaseline recommendation view and modification window 538. The baselinerecommendation view and modification window 538 can be configured toenable a user 134 or other entity to view and/or modify the baselinerecommendations as noted above for a project 136 and/or media content126. The baseline recommendation view and modification window 538 caninclude a baseline recommendations field 540. The baselinerecommendations field 540 can list all baseline recommendations that aredetermined to be applicable to the project 136. Because many otherbaseline recommendations have been explained herein, it should beunderstood that the illustrated is merely illustrative and should not beconstrued as being limiting in any way.

As shown in FIG. 5D, the baseline recommendation view and modificationwindow 538 can include a UI control 542 that, when selected, causes theuser device 102 to accept the baseline recommendations as displayed andto continue to other user interfaces, processes, etc. The baselinerecommendation view and modification window 538 also can include variousinterface elements for modifying a baseline recommendation for theproject 136. In particular, a user 134 or other entity can select one ofthe baseline recommendations displayed in the baseline recommendationsfield 540. In response to selecting a baseline recommendation, the userdevice 102 can display all possible values (based on devicecapabilities) in the selection field 544. A user 134 or other entity canselect one of the options displayed and select the UI control 546 tocause the user device 102 to change the baseline recommendation asindicated. Because other functionality for modifying the baselinerecommendations is contemplated and is possible, it should be understoodthat this example is illustrative, and therefore should not be construedas being limiting in any way.

Once the baseline recommendations are accepted and/or modified asdesired, selection of the UI control 548 can cause the user device 102to accept the baseline recommendations as modified, to continue to otherinterfaces, to exit the baseline recommendation view and modificationfunctionality, and/or to otherwise determine device capabilities 120 asillustrated and described herein. Because additional or alternativecontrols can be included in the baseline recommendation view andmodification window 538, it should be understood that the exampleembodiment shown in FIG. 5D is illustrative and therefore should not beconstrued as being limiting in any way.

FIGS. 5E-5L show illustrative screen displays 500E-L. According to someembodiments of the concepts and technologies described herein, thescreen displays 500E-L can be generated by a device such as the userdevice 102 via interactions with the content capture service 110 and/orthe content capture application 108. In particular, according to variousembodiments, the user device 102 can generate the screen displays 500E-Land/or other screen displays in conjunction with and/or based uponinteractions with the content capture application 108 described herein,which can be configured to render the screen display 500E using datagenerated at the user device 102 and/or using data provided by thecontent capture service 110. It should be appreciated that the UIdiagrams illustrated in FIGS. 5E-L are illustrative of some contemplatedexamples of the UIs that can be generated and/or displayed in accordancewith the concepts and technologies disclosed herein, and thereforeshould not be construed as being limiting in any way.

According to various embodiments, the screen displays 500E-L can bepresented, for example, to present one or more capture suggestions 122as illustrated and described herein with respect to operation 208 of themethod 200 shown in FIG. 2. Because the screen displays 500E-Lillustrated in FIGS. 5E-L (and/or other screen displays for providingcapture suggestions 122) can be displayed at additional and/oralternative times, it should be understood that the above example isillustrative and therefore should not be construed as being limiting inany way.

The screen display 500E illustrated in FIG. 5E shows a content capturescreen (e.g., a video recorder application screen) with an overlay 550that corresponds to a capture suggestion 122. In the illustratedembodiment, an advertisement 552 is visible on the wall in the video,but the text is cut off by the edges of the video. As such, the capturesuggestion 122 can suggest to the user 134 or other entity that thevideo should be panned to the right so that the text associated with theadvertisement is visible in the video being captured. In the illustratedembodiment, as the video is panned right, the overlay 550 will be pannedoff the left side of the screen, thereby progressively disappearing andthereby passively instructing the user 134 or other entity when to stoppanning (active instructions to stop panning are also possible and arecontemplated). Because many embodiments for providing the overlay 550and/or for providing a UI that suggests to a user that the view shouldbe panned are contemplated and are possible, it should be understoodthat the illustrated embodiment is merely illustrative and should not beconstrued as being limiting in any way.

The screen display 500F illustrated in FIG. 5F shows a content capturescreen (e.g., a video recorder application screen) with anotherembodiment of the overlay 550 that corresponds to a capture suggestion122. In the illustrated embodiment, the capture suggestion 122 cansuggest to the user 134 or other entity that the video view should becropped to match the displayed overlay 550. It should be appreciatedthat the capture suggestion 122 could recommend zooming as well toachieve a similar effect, but in this case the cropping is preferred(for example, because the optical and/or digital zoom may already beapplied to the video, or for other reasons). As the view is cropped(e.g., by the user 134 or other entity moving closer to the subject ofthe media content 126), the overlay 550 can expand until the overlay 550matches the viewable space of the screen (at which time the overlay 550may disappear and/or become more transparent, for example). Because manyembodiments for providing the overlay 550 and/or for providing a UI thatsuggests to a user that the view should be cropped are contemplated andare possible, it should be understood that the illustrated embodiment ismerely illustrative and should not be construed as being limiting in anyway.

The screen display 500G illustrated in FIG. 5G shows a content capturescreen (e.g., a video recorder application screen) with anotherembodiment of the overlay 550 that corresponds to a capture suggestion122. In the illustrated embodiment, the capture suggestion 122 cansuggest to the user 134 or other entity that the video view should bezoomed out. It should be appreciated that the capture suggestion 122could recommend moving away from the target of the video to achieve asimilar effect, but in this case the zooming is preferred (for example,because the optical and/or digital zoom may be in use or for otherreasons). As the view is zoomed to the suggested zoom level, the overlay550 may disappear and/or become more transparent. Because manyembodiments for providing the overlay 550 and/or for providing a UI thatsuggests to a user that the view should be zoomed out are contemplatedand are possible, it should be understood that the illustratedembodiment is merely illustrative and should not be construed as beinglimiting in any way.

The screen display 500H illustrated in FIG. 5H shows a content capturescreen (e.g., a video recorder application screen) with anotherembodiment of the overlay 550 that corresponds to a capture suggestion122. In the illustrated embodiment, the capture suggestion 122 cansuggest to the user 134 or other entity that an advertisement should beadded to the media content 126. In some embodiments, the overlay 550 canenable text entry via selection of the overlay 550, via whichadvertising text or images can be added to the video, but this is notseparately illustrated in FIG. 5H. Because many embodiments forproviding the overlay 550 and/or for providing a UI that suggests to auser that an advertisement should be added to a video or scene arecontemplated and are possible, it should be understood that theillustrated embodiment is merely illustrative and should not beconstrued as being limiting in any way.

The screen display 500I illustrated in FIG. 5I shows a content capturescreen (e.g., a video recorder application screen) with anotherembodiment of the overlay 550 that corresponds to a capture suggestion122. In the illustrated embodiment, the capture suggestion 122 cansuggest to the user 134 or other entity that certain text or scriptlanguage should be said by the person in the video and/or otherwiseshould be added to the media content 126. In some embodiments, theoverlay 550 can enable text entry via selection of the overlay 550, viawhich text can be added to the video (e.g., background information, timeinformation, location information, story information, or the like), butthis is not separately illustrated in FIG. 5I. Because many embodimentsfor providing the overlay 550 and/or for providing a UI that suggests toa user that text should be added to a video or scene are contemplatedand are possible, it should be understood that the illustratedembodiment is merely illustrative and should not be construed as beinglimiting in any way.

The screen display 500J illustrated in FIG. 5J shows a content capturescreen (e.g., a video recorder application screen) with anotherembodiment of the overlay 550 that corresponds to a capture suggestion122. In the illustrated embodiment, the capture suggestion 122 caninform the user 134 or other entity about a budget that applies to theproject 136. In the illustrated embodiment, the overlay 550 can informthe user 134 or other entity that the time budget associated with thescene, media content 126, and/or project 136 is nearly exhausted (onlyslightly over 25% remaining). Because many embodiments for providing theoverlay 550 and/or for providing a UI that informs a user regardingbudgets are contemplated and are possible, it should be understood thatthe illustrated embodiment is merely illustrative and should not beconstrued as being limiting in any way.

The screen display 500K illustrated in FIG. 5K shows a content capturescreen (e.g., a video recorder application screen) with anotherembodiment of the overlay 550 that corresponds to a capture suggestion122. In the illustrated embodiment, the capture suggestion 122 caninform the user 134 or other entity that a cut point has been reached,meaning that recording should be stopped at this time. As explainedabove, a cut point may be reached due to mood and/or continuityconsiderations, due to expiration or exhaustion of a budget, and/or forother reasons. Because many embodiments for providing the overlay 550and/or for providing a UI that informs a user that a cut point has beenreached are contemplated and are possible, it should be understood thatthe illustrated embodiment is merely illustrative and should not beconstrued as being limiting in any way.

The screen display 500L illustrated in FIG. 5L shows a content capturescreen (e.g., a video recorder application screen) with anotherembodiment of the overlay 550 that corresponds to a capture suggestion122. In the illustrated embodiment, the capture suggestion 122 caninform the user 134 or other entity that a particular target should befocused on during capture of the media content 126. Additionally, afocus circle 554 can be presented on the screen to indicate the point,object, or other entity that should be focused on during the capture ofthe media content 126. Because many embodiments for providing theoverlay 550 and/or a focus circle 554 (or other shape such as an “x”, adot, a box, guidelines, etc.) for providing a UI that informs a userabout the object, person, or other entity to focus on are contemplatedand are possible, it should be understood that the illustratedembodiment is merely illustrative and should not be construed as beinglimiting in any way.

Turning now to FIG. 6, additional details of the network 104 areillustrated, according to an illustrative embodiment. The network 104includes a cellular network 602, a packet data network 604, for example,the Internet, and a circuit switched network 606, for example, apublicly switched telephone network (“PSTN”). The cellular network 602includes various components such as, but not limited to, basetransceiver stations (“BTSs”), Node-B's or e-Node-B's, base stationcontrollers (“BSCs”), radio network controllers (“RNCs”), mobileswitching centers (“MSCs”), mobile management entities (“MMEs”), shortmessage service centers (“SMSCs”), multimedia messaging service centers(“MMSCs”), home location registers (“HLRs”), home subscriber servers(“HSSs”), visitor location registers (“VLRs”), charging platforms,billing platforms, voicemail platforms, GPRS core network components,location service nodes, an IP Multimedia Subsystem (“IMS”), and thelike. The cellular network 602 also includes radios and nodes forreceiving and transmitting voice, data, and combinations thereof to andfrom radio transceivers, networks, the packet data network 604, and thecircuit switched network 606.

A mobile communications device 608, such as, for example, a cellulartelephone, a user equipment, a mobile terminal, a PDA, a laptopcomputer, a handheld computer, and combinations thereof, can beoperatively connected to the cellular network 602. The cellular network602 can be configured as a 2G GSM network and can provide datacommunications via GPRS and/or EDGE. Additionally, or alternatively, thecellular network 602 can be configured as a 3G UMTS network and canprovide data communications via the HSPA protocol family, for example,HSDPA, EUL (also referred to as HSDPA), and HSPA+. The cellular network602 also is compatible with 4G mobile communications standards as wellas evolved and future mobile standards.

The packet data network 604 includes various devices, for example,servers, computers, databases, and other devices in communication withone another, as is generally known. The packet data network 604 devicesare accessible via one or more network links. The servers often storevarious files that are provided to a requesting device such as, forexample, a computer, a terminal, a smartphone, or the like. Typically,the requesting device includes software (a “browser”) for executing aweb page in a format readable by the browser or other software. Otherfiles and/or data may be accessible via “links” in the retrieved files,as is generally known. In some embodiments, the packet data network 604includes or is in communication with the Internet. The circuit switchednetwork 606 includes various hardware and software for providing circuitswitched communications. The circuit switched network 606 may include,or may be, what is often referred to as a plain old telephone system(POTS). The functionality of a circuit switched network 606 or othercircuit-switched network are generally known and will not be describedherein in detail.

The illustrated cellular network 602 is shown in communication with thepacket data network 604 and a circuit switched network 606, though itshould be appreciated that this is not necessarily the case. One or moreInternet-capable devices 610, for example, a PC, a laptop, a portabledevice, or another suitable device, can communicate with one or morecellular networks 602, and devices connected thereto, through the packetdata network 604. It also should be appreciated that theInternet-capable device 610 can communicate with the packet data network604 through the circuit switched network 606, the cellular network 602,and/or via other networks (not illustrated).

As illustrated, a communications device 612, for example, a telephone,facsimile machine, modem, computer, or the like, can be in communicationwith the circuit switched network 606, and therethrough to the packetdata network 604 and/or the cellular network 602. It should beappreciated that the communications device 612 can be anInternet-capable device, and can be substantially similar to theInternet-capable device 610. In the specification, the network 104 isused to refer broadly to any combination of the networks 602, 604, 606.It should be appreciated that substantially all of the functionalitydescribed with reference to the network 104 can be performed by thecellular network 602, the packet data network 604, and/or the circuitswitched network 606, alone or in combination with other networks,network elements, and the like.

FIG. 7 is a block diagram illustrating a computer system 700 configuredto provide the functionality described herein for a content captureservice, in accordance with various embodiments of the concepts andtechnologies disclosed herein. The computer system 700 includes aprocessing unit 702, a memory 704, one or more user interface devices706, one or more input/output (“I/O”) devices 708, and one or morenetwork devices 710, each of which is operatively connected to a systembus 712. The bus 712 enables bi-directional communication between theprocessing unit 702, the memory 704, the user interface devices 706, theI/O devices 708, and the network devices 710.

The processing unit 702 may be a standard central processor thatperforms arithmetic and logical operations, a more specific purposeprogrammable logic controller (“PLC”), a programmable gate array, orother type of processor known to those skilled in the art and suitablefor controlling the operation of the server computer. As used herein,the word “processor” and/or the phrase “processing unit” when used withregard to any architecture or system can include multiple processors orprocessing units distributed across and/or operating in parallel in asingle machine or in multiple machines. Furthermore, processors and/orprocessing units can be used to support virtual processing environments.Processors and processing units also can include state machines,application-specific integrated circuits (“ASICs”), combinationsthereof, or the like. Because processors and/or processing units aregenerally known, the processors and processing units disclosed hereinwill not be described in further detail herein.

The memory 704 communicates with the processing unit 702 via the systembus 712. In some embodiments, the memory 704 is operatively connected toa memory controller (not shown) that enables communication with theprocessing unit 702 via the system bus 712. The memory 704 includes anoperating system 714 and one or more program modules 716. The operatingsystem 714 can include, but is not limited to, members of the WINDOWS,WINDOWS CE, and/or WINDOWS MOBILE families of operating systems fromMICROSOFT CORPORATION, the LINUX family of operating systems, theSYMBIAN family of operating systems from SYMBIAN LIMITED, the BREWfamily of operating systems from QUALCOMM CORPORATION, the MAC OS, iOS,and/or LEOPARD families of operating systems from APPLE CORPORATION, theFREEBSD family of operating systems, the SOLARIS family of operatingsystems from ORACLE CORPORATION, other operating systems, and the like.

The program modules 716 may include various software and/or programmodules described herein. In some embodiments, for example, the programmodules 716 include the content capture application 108 and the contentcapture service 110. These and/or other programs can be embodied incomputer-readable media containing instructions that, when executed bythe processing unit 702, perform one or more of the methods 200, 300,and 400 described in detail above with respect to FIGS. 2-4 and/or otherfunctionality as illustrated and described herein. It can be appreciatedthat, at least by virtue of the instructions embodying the methods 200,300, and 400, and/or other functionality illustrated and describedherein being stored in the memory 704 and/or accessed and/or executed bythe processing unit 702, the computer system 700 is a special-purposecomputing system that can facilitate providing the functionalityillustrated and described herein. According to embodiments, the programmodules 716 may be embodied in hardware, software, firmware, or anycombination thereof. Although not shown in FIG. 7, it should beunderstood that the memory 704 also can be configured to store theproject data 114 and/or one or more portions thereof such as the projectdefinitions 116, the project definition data 118, the devicecapabilities 120, the capture suggestions 122, the user input data 124,the media content 126, the modified media content 128, the otherinformation 130, the project 136, the network data 142, the device table144, and/or other data, if desired.

By way of example, and not limitation, computer-readable media mayinclude any available computer storage media or communication media thatcan be accessed by the computer system 700. Communication media includescomputer-readable instructions, data structures, program modules, orother data in a modulated data signal such as a carrier wave or othertransport mechanism and includes any delivery media. The term “modulateddata signal” means a signal that has one or more of its characteristicschanged or set in a manner as to encode information in the signal. Byway of example, and not limitation, communication media includes wiredmedia such as a wired network or direct-wired connection, and wirelessmedia such as acoustic, RF, infrared and other wireless media.Combinations of the any of the above should also be included within thescope of computer-readable media.

Computer storage media includes volatile and non-volatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules, or other data. Computer storage media includes, but isnot limited to, RAM, ROM, Erasable Programmable ROM (“EPROM”),Electrically Erasable Programmable ROM (“EEPROM”), flash memory or othersolid state memory technology, CD-ROM, digital versatile disks (“DVD”),or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich can be used to store the desired information and which can beaccessed by the computer system 700. In the claims, the phrase “computerstorage medium” and variations thereof does not include waves or signalsper se and/or communication media.

The user interface devices 706 may include one or more devices withwhich a user accesses the computer system 700. The user interfacedevices 706 may include, but are not limited to, computers, servers,personal digital assistants, cellular phones, or any suitable computingdevices. The I/O devices 708 enable a user to interface with the programmodules 716. In one embodiment, the I/O devices 708 are operativelyconnected to an I/O controller (not shown) that enables communicationwith the processing unit 702 via the system bus 712. The I/O devices 708may include one or more input devices, such as, but not limited to, akeyboard, a mouse, or an electronic stylus. Further, the I/O devices 708may include one or more output devices, such as, but not limited to, adisplay screen or a printer.

The network devices 710 enable the computer system 700 to communicatewith other networks or remote systems via a network, such as the network104. Examples of the network devices 710 include, but are not limitedto, a modem, a radio frequency (“RF”) or infrared (“IR”) transceiver, atelephonic interface, a bridge, a router, or a network card. The network104 may include a wireless network such as, but not limited to, aWireless Local Area Network (“WLAN”) such as a WI-FI network, a WirelessWide Area Network (“WWAN”), a Wireless Personal Area Network (“WPAN”)such as BLUETOOTH, a Wireless Metropolitan Area Network (“WMAN”) such aWiMAX network, or a cellular network. Alternatively, the network 104 maybe a wired network such as, but not limited to, a Wide Area Network(“WAN”) such as the Internet, a Local Area Network (“LAN”) such as theEthernet, a wired Personal Area Network (“PAN”), or a wired MetropolitanArea Network (“MAN”).

Turning now to FIG. 8, an illustrative mobile device 800 and componentsthereof will be described. In some embodiments, the user device 102described above with reference to FIGS. 1-5L can be configured as and/orcan have an architecture similar or identical to the mobile device 800described herein in FIG. 8. It should be understood, however, that theuser device 102 may or may not include the functionality describedherein with reference to FIG. 8. While connections are not shown betweenthe various components illustrated in FIG. 8, it should be understoodthat some, none, or all of the components illustrated in FIG. 8 can beconfigured to interact with one another to carry out various devicefunctions. In some embodiments, the components are arranged so as tocommunicate via one or more busses (not shown). Thus, it should beunderstood that FIG. 8 and the following description are intended toprovide a general understanding of a suitable environment in whichvarious aspects of embodiments can be implemented, and should not beconstrued as being limiting in any way.

As illustrated in FIG. 8, the mobile device 800 can include a display802 for displaying data. According to various embodiments, the display802 can be configured to display various graphical user interface(“GUI”) elements such as, for example, a video capture application,project data 114, project definitions 116 and/or project definition data118, device capabilities 120 (e.g., baseline recommendations and/ormodified baseline recommendations), capture suggestions 122, user inputdata 124, media content 126, modified media content 128, otherinformation 130, a project 136, network data 142, a device table 144,text, images, video, virtual keypads and/or keyboards, messaging data,notification messages, metadata, internet content, device status, time,date, calendar data, device preferences, map and location data,combinations thereof, and/or the like. The mobile device 800 also caninclude a processor 804 and a memory or other data storage device(“memory”) 806. The processor 804 can be configured to process dataand/or can execute computer-executable instructions stored in the memory806. The computer-executable instructions executed by the processor 804can include, for example, an operating system 808, one or moreapplications 810 such as the content capture application 108 and/or thecontent capture service 110, other computer-executable instructionsstored in a memory 806, or the like. In some embodiments, theapplications 810 also can include a UI application (not illustrated inFIG. 8).

The UI application can interface with the operating system 808, such asthe operating system 106 shown in FIG. 1, to facilitate user interactionwith functionality and/or data stored at the mobile device 800 and/orstored elsewhere. In some embodiments, the operating system 808 caninclude a member of the SYMBIAN OS family of operating systems fromSYMBIAN LIMITED, a member of the WINDOWS MOBILE OS and/or WINDOWS PHONEOS families of operating systems from MICROSOFT CORPORATION, a member ofthe PALM WEBOS family of operating systems from HEWLETT PACKARDCORPORATION, a member of the BLACKBERRY OS family of operating systemsfrom RESEARCH IN MOTION LIMITED, a member of the IOS family of operatingsystems from APPLE INC., a member of the ANDROID OS family of operatingsystems from GOOGLE INC., and/or other operating systems. Theseoperating systems are merely illustrative of some contemplated operatingsystems that may be used in accordance with various embodiments of theconcepts and technologies described herein and therefore should not beconstrued as being limiting in any way.

The UI application can be executed by the processor 804 to aid a user inentering content, inputting project definitions 116 and/or projectdefinition data 118, obtaining and/or modifying device capabilities 120,surfacing capture suggestions 122, obtaining user input data 124,capturing and/or viewing media content 126, viewing modified mediacontent 128, obtaining, modifying, and/or viewing other information 130,viewing a project 136, configuring settings, manipulating address bookcontent and/or settings, multimode interaction, interacting with otherapplications 810, and otherwise facilitating user interaction with theoperating system 808, the applications 810, and/or other types orinstances of data 812 that can be stored at the mobile device 800. Thedata 812 can include, for example, the content capture application 108and/or the content capture service 110, functionality for providing anetwork monitor 140, and/or other applications or program modules.According to various embodiments, the data 812 can include, for example,presence applications, visual voice mail applications, messagingapplications, text-to-speech and speech-to-text applications, add-ons,plug-ins, email applications, music applications, video applications,camera applications, location-based service applications, powerconservation applications, game applications, productivity applications,entertainment applications, enterprise applications, combinationsthereof, and the like. The applications 810, the data 812, and/orportions thereof can be stored in the memory 806 and/or in a firmware814, and can be executed by the processor 804.

It can be appreciated that, at least by virtue of storage of theinstructions corresponding to the applications 810 and/or otherinstructions embodying other functionality illustrated and describedherein in the memory 806, and/or by virtue of the instructionscorresponding to the applications 810 and/or other instructionsembodying other functionality illustrated and described herein beingaccessed and/or executed by the processor 804, the mobile device 800 isa special-purpose mobile device that can facilitate providing thefunctionality illustrated and described herein. The firmware 814 alsocan store code for execution during device power up and power downoperations. It can be appreciated that the firmware 814 can be stored ina volatile or non-volatile data storage device including, but notlimited to, the memory 806 and/or a portion thereof.

The mobile device 800 also can include an input/output (“I/O”) interface816. The I/O interface 816 can be configured to support the input/outputof data such as location information, budget information, network data142, a device table 144, user information, organization information,presence status information, user IDs, passwords, and applicationinitiation (start-up) requests. In some embodiments, the I/O interface816 can include a hardwire connection such as a universal serial bus(“USB”) port, a mini-USB port, a micro-USB port, an audio jack, a PS2port, an IEEE 1394 (“FIREWIRE”) port, a serial port, a parallel port, anEthernet (RJ45 or RJ48) port, a telephone (RJ11 or the like) port, aproprietary port, combinations thereof, or the like. In someembodiments, the mobile device 800 can be configured to synchronize withanother device to transfer content to and/or from the mobile device 800.In some embodiments, the mobile device 800 can be configured to receiveupdates to one or more of the applications 810 via the I/O interface816, though this is not necessarily the case. In some embodiments, theI/O interface 816 accepts I/O devices such as keyboards, keypads, mice,interface tethers, printers, plotters, external storage,touch/multi-touch screens, touch pads, trackballs, joysticks,microphones, remote control devices, displays, projectors, medicalequipment (e.g., stethoscopes, heart monitors, and other health metricmonitors), modems, routers, external power sources, docking stations,combinations thereof, and the like. It should be appreciated that theI/O interface 816 may be used for communications between the mobiledevice 800 and a network device or local device.

The mobile device 800 also can include a communications component 818.The communications component 818 can be configured to interface with theprocessor 804 to facilitate wired and/or wireless communications withone or more networks such as the network 104 described herein. In someembodiments, other networks include networks that utilize non-cellularwireless technologies such as WI-FI or WIMAX. In some embodiments, thecommunications component 818 includes a multimode communicationssubsystem for facilitating communications via the cellular network andone or more other networks.

The communications component 818, in some embodiments, includes one ormore transceivers. The one or more transceivers, if included, can beconfigured to communicate over the same and/or different wirelesstechnology standards with respect to one another. For example, in someembodiments one or more of the transceivers of the communicationscomponent 818 may be configured to communicate using GSM, CDMAONE,CDMA2000, LTE, and various other 2G, 2.5G, 3G, 4G, 5G, and greatergeneration technology standards. Moreover, the communications component818 may facilitate communications over various channel access methods(which may or may not be used by the aforementioned standards)including, but not limited to, TDMA, FDMA, W-CDMA, OFDM, SDMA, and thelike.

In addition, the communications component 818 may facilitate datacommunications using GPRS, EDGE, the HSPA protocol family includingHSDPA, EUL or otherwise termed HSDPA, HSPA+, and various other currentand future wireless data access standards. In the illustratedembodiment, the communications component 818 can include a firsttransceiver (“TxRx”) 820A that can operate in a first communicationsmode (e.g., GSM). The communications component 818 also can include anN^(th) transceiver (“TxRx”) 820N that can operate in a secondcommunications mode relative to the first transceiver 820A (e.g., UMTS).While two transceivers 820A-N (hereinafter collectively and/orgenerically referred to as “transceivers 820”) are shown in FIG. 8, itshould be appreciated that less than two, two, and/or more than twotransceivers 820 can be included in the communications component 818.

The communications component 818 also can include an alternativetransceiver (“Alt TxRx”) 822 for supporting other types and/or standardsof communications. According to various contemplated embodiments, thealternative transceiver 822 can communicate using various communicationstechnologies such as, for example, WI-FI, WIMAX, BLUETOOTH, infrared,infrared data association (“IRDA”), near field communications (“NFC”),other RF technologies, combinations thereof, and the like. In someembodiments, the communications component 818 also can facilitatereception from terrestrial radio networks, digital satellite radionetworks, internet-based radio service networks, combinations thereof,and the like. The communications component 818 can process data from anetwork such as the Internet, an intranet, a broadband network, a WI-FIhotspot, an Internet service provider (“ISP”), a digital subscriber line(“DSL”) provider, a broadband provider, combinations thereof, or thelike.

The mobile device 800 also can include one or more sensors 824. Thesensors 824 can include temperature sensors, light sensors, air qualitysensors, movement sensors, orientation sensors, noise sensors, proximitysensors, or the like. As such, it should be understood that the sensors824 can include, but are not limited to, accelerometers, magnetometers,gyroscopes, infrared sensors, noise sensors, microphones, combinationsthereof, or the like. Additionally, audio capabilities for the mobiledevice 800 may be provided by an audio I/O component 826. The audio I/Ocomponent 826 of the mobile device 800 can include one or more speakersfor the output of audio signals, one or more microphones for thecollection and/or input of audio signals, and/or other audio inputand/or output devices.

The illustrated mobile device 800 also can include a subscriber identitymodule (“SIM”) system 828. The SIM system 828 can include a universalSIM (“USIM”), a universal integrated circuit card (“UICC”) and/or otheridentity devices. The SIM system 828 can include and/or can be connectedto or inserted into an interface such as a slot interface 830. In someembodiments, the slot interface 830 can be configured to acceptinsertion of other identity cards or modules for accessing various typesof networks. Additionally, or alternatively, the slot interface 830 canbe configured to accept multiple subscriber identity cards. Becauseother devices and/or modules for identifying users and/or the mobiledevice 800 are contemplated, it should be understood that theseembodiments are illustrative, and should not be construed as beinglimiting in any way.

The mobile device 800 also can include an image capture and processingsystem 832 (“image system”). The image system 832 can be configured tocapture or otherwise obtain photos, videos, and/or other visualinformation. As such, the image system 832 can include cameras, lenses,charge-coupled devices (“CCDs”), combinations thereof, or the like. Themobile device 800 may also include a video system 834. The video system834 can be configured to capture, process, record, modify, and/or storevideo content. Photos and videos obtained using the image system 832 andthe video system 834, respectively, may be added as message content toan MMS message, email message, and sent to another mobile device. Thevideo and/or photo content also can be shared with other devices viavarious types of data transfers via wired and/or wireless communicationdevices as described herein.

The mobile device 800 also can include one or more location components836. The location components 836 can be configured to send and/orreceive signals to determine a geographic location of the mobile device800. According to various embodiments, the location components 836 cansend and/or receive signals from global positioning system (“GPS”)devices, assisted-GPS (“A-GPS”) devices, WI-FI/WIMAX and/or cellularnetwork triangulation data, combinations thereof, and the like. Thelocation component 836 also can be configured to communicate with thecommunications component 818 to retrieve triangulation data fordetermining a location of the mobile device 800. In some embodiments,the location component 836 can interface with cellular network nodes,telephone lines, satellites, location transmitters and/or beacons,wireless network transmitters and receivers, combinations thereof, andthe like. In some embodiments, the location component 836 can includeand/or can communicate with one or more of the sensors 824 such as acompass, an accelerometer, and/or a gyroscope to determine theorientation of the mobile device 800. Using the location component 836,the mobile device 800 can generate and/or receive data to identify itsgeographic location, or to transmit data used by other devices todetermine the location of the mobile device 800. The location component836 may include multiple components for determining the location and/ororientation of the mobile device 800.

The illustrated mobile device 800 also can include a power source 838.The power source 838 can include one or more batteries, power supplies,power cells, and/or other power subsystems including alternating current(“AC”) and/or direct current (“DC”) power devices. The power source 838also can interface with an external power system or charging equipmentvia a power I/O component 840. Because the mobile device 800 can includeadditional and/or alternative components, the above embodiment should beunderstood as being illustrative of one possible operating environmentfor various embodiments of the concepts and technologies describedherein. The described embodiment of the mobile device 800 isillustrative, and should not be construed as being limiting in any way.

FIG. 9 illustrates an illustrative cloud computing platform 900 capableof executing the software components described herein for providingand/or for interacting with the content capture application 108 and/orthe content capture service 110. Thus, it can be appreciated that insome embodiments of the concepts and technologies disclosed herein, thecloud computing platform 900 illustrated in FIG. 9 can be used toprovide the functionality described herein with respect to the userdevice 102, the server computer 112, the network monitor 140, and/or thedevice table 144.

The cloud computing platform 900 thus may be utilized to execute anyaspects of the software components presented herein. Thus, according tovarious embodiments of the concepts and technologies disclosed herein,the content capture application 108 and/or the content capture service110 can be implemented, at least in part, on or by elements included inthe cloud computing platform 900 illustrated and described herein. Thoseskilled in the art will appreciate that the illustrated cloud computingplatform 900 is a simplification of but only one possible implementationof an illustrative cloud computing platform, and as such, the cloudcomputing platform 900 should not be construed as being limiting in anyway.

In the illustrated embodiment, the cloud computing platform 900 caninclude a hardware resource layer 902, a virtualization/control layer904, and a virtual resource layer 906. These layers and/or other layerscan be configured to cooperate with each other and/or other elements ofthe cloud computing platform 900 to perform operations as will bedescribed in detail herein. While connections are shown between some ofthe components illustrated in FIG. 9, it should be understood that some,none, or all of the components illustrated in FIG. 9 can be configuredto interact with one another to carry out various functions describedherein. In some embodiments, the components are arranged so as tocommunicate via one or more networks such as, for example, the network104 illustrated and described hereinabove (not shown in FIG. 9). Thus,it should be understood that FIG. 9 and the following description areintended to provide a general understanding of a suitable environment inwhich various aspects of embodiments can be implemented, and should notbe construed as being limiting in any way.

The hardware resource layer 902 can provide hardware resources. In theillustrated embodiment, the hardware resources can include one or morecompute resources 908, one or more memory resources 910, and one or moreother resources 912. The compute resource(s) 906 can include one or morehardware components that can perform computations to process data,and/or to execute computer-executable instructions of one or moreapplication programs, operating systems, services, and/or other softwareincluding, but not limited to, the content capture application 108and/or the content capture service 110 illustrated and described herein.

According to various embodiments, the compute resources 908 can includeone or more central processing units (“CPUs”). The CPUs can beconfigured with one or more processing cores. In some embodiments, thecompute resources 908 can include one or more graphics processing units(“GPUs”). The GPUs can be configured to accelerate operations performedby one or more CPUs, and/or to perform computations to process data,and/or to execute computer-executable instructions of one or moreapplication programs, operating systems, and/or other software that mayor may not include instructions that are specifically graphicscomputations and/or related to graphics computations. In someembodiments, the compute resources 908 can include one or more discreteGPUs. In some other embodiments, the compute resources 908 can includeone or more CPU and/or GPU components that can be configured inaccordance with a co-processing CPU/GPU computing model. Thus, it can beappreciated that in some embodiments of the compute resources 908, asequential part of an application can execute on a CPU and acomputationally-intensive part of the application can be accelerated bythe GPU. It should be understood that this example is illustrative, andtherefore should not be construed as being limiting in any way.

In some embodiments, the compute resources 908 also can include one ormore system on a chip (“SoC”) components. It should be understood thatthe SoC component can operate in association with one or more othercomponents as illustrated and described herein, for example, one or moreof the memory resources 910 and/or one or more of the other resources912. In some embodiments in which an SoC component is included, thecompute resources 908 can be or can include one or more embodiments ofthe SNAPDRAGON brand family of SoCs, available from QUALCOMM of SanDiego, Calif.; one or more embodiment of the TEGRA brand family of SoCs,available from NVIDIA of Santa Clara, Calif.; one or more embodiment ofthe HUMMINGBIRD brand family of SoCs, available from SAMSUNG of Seoul,South Korea; one or more embodiment of the Open Multimedia ApplicationPlatform (“OMAP”) family of SoCs, available from TEXAS INSTRUMENTS ofDallas, Tex.; one or more customized versions of any of the above SoCs;and/or one or more other brand and/or one or more proprietary SoCs.

The compute resources 908 can be or can include one or more hardwarecomponents that can be arranged in accordance with an ARM architecture,available for license from ARM HOLDINGS of Cambridge, United Kingdom.Alternatively, the compute resources 908 can be or can include one ormore hardware components that can be arranged in accordance with an x86architecture, such as an architecture available from INTEL CORPORATIONof Mountain View, Calif., and others. Those skilled in the art willappreciate the implementation of the compute resources 908 can utilizevarious computation architectures and/or processing architectures. Assuch, the various example embodiments of the compute resources 908 asmentioned hereinabove should not be construed as being limiting in anyway. Rather, implementations of embodiments of the concepts andtechnologies disclosed herein can be implemented using compute resources908 having any of the particular computation architecture and/orcombination of computation architectures mentioned herein as well asother architectures.

Although not separately illustrated in FIG. 9, it should be understoodthat the compute resources 908 illustrated and described herein can hostand/or execute various services, applications, portals, and/or otherfunctionality illustrated and described herein. Thus, the computeresources 908 can host and/or can execute the content captureapplication 108, the content capture service 110, or other applicationsor services illustrated and described herein.

The memory resource(s) 910 can include one or more hardware componentsthat can perform or provide storage operations, including temporaryand/or permanent storage operations. In some embodiments, the memoryresource(s) 910 can include volatile and/or non-volatile memoryimplemented in any method or technology for storage of information suchas computer-readable instructions, data structures, program modules, orother data disclosed herein. Computer storage media is definedhereinabove and therefore should be understood as including, in variousembodiments, random access memory (“RAM”), read-only memory (“ROM”),Erasable Programmable ROM (“EPROM”), Electrically Erasable ProgrammableROM (“EEPROM”), flash memory or other solid state memory technology,CD-ROM, digital versatile disks (“DVD”), or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium that can be used to storedata and that can be accessed by the compute resources 908, subject tothe definition of “computer storage media” provided above (e.g., asexcluding waves and signals per se and/or communication media as definedin this application).

Although not illustrated in FIG. 9, it should be understood that thememory resources 910 can host or store the various data illustrated anddescribed herein including, but not limited to, the project data 114(e.g., one or more portions thereof such as the project definitions 116,the project definition data 118, the device capabilities 120, thecapture suggestions 122, the user input data 124, the media content 126,the modified media content 128, the other information 130), the project136, the network data 142, the device table 144, and/or other data, ifdesired. It should be understood that this example is illustrative, andtherefore should not be construed as being limiting in any way.

The other resource(s) 912 can include any other hardware resources thatcan be utilized by the compute resources(s) 906 and/or the memoryresource(s) 910 to perform operations. The other resource(s) 912 caninclude one or more input and/or output processors (e.g., a networkinterface controller and/or a wireless radio), one or more modems, oneor more codec chipsets, one or more pipeline processors, one or morefast Fourier transform (“FFT”) processors, one or more digital signalprocessors (“DSPs”), one or more speech synthesizers, combinationsthereof, or the like.

The hardware resources operating within the hardware resource layer 902can be virtualized by one or more virtual machine monitors (“VMMs”)914A-914K (also known as “hypervisors;” hereinafter “VMMs 914”). TheVMMs 914 can operate within the virtualization/control layer 904 tomanage one or more virtual resources that can reside in the virtualresource layer 906. The VMMs 914 can be or can include software,firmware, and/or hardware that alone or in combination with othersoftware, firmware, and/or hardware, can manage one or more virtualresources operating within the virtual resource layer 906.

The virtual resources operating within the virtual resource layer 906can include abstractions of at least a portion of the compute resources908, the memory resources 910, the other resources 912, or anycombination thereof. These abstractions are referred to herein asvirtual machines (“VMs”). In the illustrated embodiment, the virtualresource layer 906 includes VMs 916A-916N (hereinafter “VMs 916”).

According to various embodiments of the concepts and technologiesdisclosed herein, various use cases and/or benefits are contemplatedand/or may be realized. For example, capture suggestions 122 can be usedto inform a user 134 and/or other entity how to capture the mediacontent 126 based on resource availability on a network or device.Similarly, the capture suggestions 122 can instruct a user 134 and/orother entity where to aim the camera to obtain an ideal view. It iscontemplated that smart devices in the future can be used toautomatically aim the camera based on the capture suggestions 122 (e.g.,the panning or zooming illustrated and described herein can beautomatically implemented by a smart tripod or drone device, forexample).

In some embodiments, audio information also can be used. For example,the capture suggestions 122 can inform a user 134 and/or other entitythat an ambient noise level at or near the capture device will interferewith capture of audio for the media content 126. The ambient noise canbe removed and/or the user 134 and/or other entity can be informedregarding the audio levels so remedial action can be taken duringcapture of the media content 126. In some embodiments, the capturesuggestions 122 can also provide contextual alerts such as, for example,detecting out-of-place objects in a captured scene and alerting the user134 and/or other entity regarding this object (e.g., a car driving by areenactment of an historical event, etc.). It should be understood thatthese examples are illustrative, and therefore should not be construedas being limiting in any way.

In some embodiments, the user 134 or other entity can specify a targetfor the media content 126 and the content capture service 110 and/orcontent capture application 108 can be configured to track that target(object or person) and provide visual cues (e.g., overlays 550) to helpthe user 134 and/or other entity keep that object in focus. It should beunderstood that this example is illustrative, and therefore should notbe construed as being limiting in any way. In some other embodiments,the concepts and technologies disclosed herein can be used to detectinsertion points for advertisements using contextual analysis (e.g.,detecting an empty wall behind an actor and suggesting placement of anadvertisement on the wall). It should be understood that this example isillustrative, and therefore should not be construed as being limiting inany way.

Based on the foregoing, it should be appreciated that systems andmethods for providing a content capture service have been disclosedherein. Although the subject matter presented herein has been describedin language specific to computer structural features, methodological andtransformative acts, specific computing machinery, and computer-readablemedia, it is to be understood that the concepts and technologiesdisclosed herein are not necessarily limited to the specific features,acts, or media described herein. Rather, the specific features, acts andmediums are disclosed as example forms of implementing the concepts andtechnologies disclosed herein.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Various modifications andchanges may be made to the subject matter described herein withoutfollowing the example embodiments and applications illustrated anddescribed, and without departing from the true spirit and scope of theembodiments of the concepts and technologies disclosed herein.

The invention claimed is:
 1. A device comprising: a processor; and amemory that stores computer-executable instructions that, when executedby the processor, cause the processor to perform operations comprising:determining a project definition for a media project, the media projectcomprising a video that is to be captured via a user device comprising acamera, determining a device capability of the user device, the devicecapability comprising a video capability and a networking capability,determining, based on the project definition and the device capability,a capture suggestion, wherein the capture suggestion comprisesinstructions relating to content to be included in the video, providingthe capture suggestion to the user device, obtaining media content basedon the video, assembling the media project comprising the media content,and outputting the media project to a recipient.
 2. The device of claim1, wherein determining the device capability comprises: identifying theuser device; identifying a connection statistic for a communicationchannel that is expected to be used for delivery of the media project;and determining a baseline recommendation based on an identity of theuser device and the connection statistic.
 3. The device of claim 1,wherein determining the device capability comprises: determining acapability of the camera, the capability of the camera comprising aframe rate and a resolution; and determining a baseline recommendationbased on the capability of the camera.
 4. The device of claim 1, whereinthe capture suggestion is delivered to a display of the user device. 5.The device of claim 4, wherein the capture suggestion comprises asuggestion to zoom the camera, to crop a scene, or to change an aim ofthe camera.
 6. A method comprising: determining, at a device comprisinga processor, a project definition for a media project, the media projectcomprising a video that is to be captured via a user device comprising acamera; determining, by the processor, a device capability of the userdevice, the device capability comprising a video capability and anetworking capability; determining, by the processor and based on theproject definition and the device capability, a capture suggestion,wherein the capture suggestion comprises instructions relating tocontent to be included in the video; providing, by the processor, thecapture suggestion to the user device; obtaining, by the processor,media content based on the video; assembling, by the processor, themedia project comprising the media content; and outputting, by theprocessor, the media project to a recipient.
 7. The method of claim 6,wherein determining the project definition comprises: determining alocation at which the video is to be captured.
 8. The method of claim 6,wherein determining the project definition comprises: obtaining a textthat is to be represented in the video.
 9. The method of claim 6,wherein determining the project definition comprises: obtaining a budgetthat capture of the video must satisfy.
 10. The method of claim 9,wherein the budget comprises a time budget comprising a time rangebetween a minimum time and a maximum time, and wherein the capturesuggestion represents a remaining portion of the time budget.
 11. Themethod of claim 6, wherein determining the device capability comprises:identifying the user device; identifying a connection statistic for acommunication channel that is expected to be used for delivery of themedia project; and determining a baseline recommendation based on anidentity of the user device and the connection statistic.
 12. The methodof claim 6, wherein determining the device capability comprises:determining a capability of the camera, the capability of the cameracomprising a frame rate and a resolution; and determining a baselinerecommendation based on the capability of the camera.
 13. The method ofclaim 12, wherein determining the device capability further comprises:delivering the baseline recommendation to the user device; and modifyingthe baseline recommendation based on input via the user device.
 14. Themethod of claim 6, wherein the capture suggestion is delivered to adisplay of the user device.
 15. The method of claim 14, wherein thecapture suggestion comprises a suggestion to zoom the camera, to crop ascene, or to change an aim of the camera.
 16. The method of claim 14,wherein the capture suggestion comprises an indication of a budgetremaining.
 17. The method of claim 8, wherein the capture suggestion isdelivered to a display of the user device, and wherein the capturesuggestion comprises a suggestion to capture a spoken word in the video,wherein the spoken word is based on the text.
 18. A computer storagemedium having computer-executable instructions stored thereon that, whenexecuted by a processor, cause the processor to perform operationscomprising: determining a project definition for a media project, themedia project comprising a video that is to be captured via a userdevice comprising a camera; determining a device capability of the userdevice, the device capability comprising a video capability and anetworking capability; determining, based on the project definition andthe device capability, a capture suggestion, wherein the capturesuggestion comprises instructions relating to content to be included inthe video; providing the capture suggestion to the user device;obtaining media content based on the video; assembling the media projectcomprising the media content; and outputting the media project to arecipient.
 19. The computer storage medium of claim 18, whereindetermining the device capability comprises: identifying the userdevice; identifying a connection statistic for a communication channelthat is expected to be used for delivery of the media project;determining a capability of the camera, the capability of the cameracomprising a frame rate and a resolution; and determining a baselinerecommendation based on an identity of the user device, the connectionstatistic, and the capability of the camera.
 20. The computer storagemedium of claim 18, wherein the capture suggestion is delivered to adisplay of the user device, and wherein the capture suggestion comprisesa suggestion to zoom the camera, to crop a scene, or to change an aim ofthe camera.